- 博客(10)
- 收藏
- 关注
原创 uva 106 Fermat vs. Pythagoras(勾股数求法)
题意: 求1到n中互质的勾股数 a ^ 2 + b ^ 2 = c ^ 2的个数,和不为互质勾股数的个数。 解析: 知道勾股数可以表示为:(j * j - i * i) ^ 2 + (2 * i * j)^ 2 = (i * i + j * j) ^ 2. 然后直接暴力就行了。 代码: #include #include #include #include #i
2014-12-31 19:26:12 484
原创 poj 2891 Strange Way to Express Integers(解线性同余方程组) + hdu 1573
题意: 给k个正整数a1....ak,和k个正整数r1....rk,求满足 m mod ai = ri 的最小解m。 解析: 线性同余方程组的求解。不断合并方程。 其中有个证明:(转自 http://www.csdn123.com/itweb.php?url=aHR0cDovL3d3dy5jbmJsb2dzLmNvbS9oZXdlaXlvdTE5OTMvYXJjaGl2ZS8yMD
2014-12-30 17:04:56 503
原创 uva 128 Software CRC(进制转换)
题意: 给一个字符串,代表一个256进制的数,然后要求在这个字符串后加两个字符,使其在十进制下能被34943。 解析: 先把256进制数转为10进制数,然后左移两位空出最后两个字符的位置,最后10进制转成16进制就行了。 代码: #include #include #include #include #include #include #include #i
2014-12-30 14:04:26 447
原创 uva 10006 Carmichael Numbers(快速幂+素数)
题意: 求数是否满足不是素数且能满足费马定理。(a ^ n mod n = a) 代码: #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long using
2014-12-30 13:13:00 405
原创 poj 2689 Prime Distance (double筛筛出大素数)
题意:给两个数L,U,1 The difference between L and U will not exceed 1,000,000. 解析:范围太大了,无法一次性筛出大素数,由题中L与U间范围为1000000找切入点,即筛出L与U间的素数,再O(n)扫一遍。 先筛出小素数,然后用小素数为基,筛出大素数,筛法异曲同工。
2014-12-29 23:13:48 407
原创 hdu 2098 分拆素数和(素数筛法)
题意:求把偶数n拆成两个不同素数和的拆发有多少种。 代码: #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long using namespace std; c
2014-12-29 21:13:15 510
原创 uva 138 Street Numbers(打表大法好)
题意:打印出10个,1~m 的和等于 m~n的m和n 解析:由题意:( 1 + m ) * m = ( m + n ) * ( n - m + 1 ). 整理得: 2 * m * m = n * ( n + 1 ). 二分搞一搞 + 究极打表大法. 代码: #include #include #include #inc
2014-12-29 19:20:03 449
原创 poj 1061 + poj 2115 + poj 2142 (exgcd)
题意:两只青蛙,在地球的同一纬度上,各自相对起点的初始坐标为x,y,现在他们从起点开始向同一个方向开始跳,第一只每次可以跳m,第二只可以跳n。 给这个圆的长度l,问最小第几次时,两只青蛙能相遇。 解析:1. 设当t次跳跃时两娃相遇,则第一只青蛙的坐标为:x + m * t,第二只为:y + n * t 。 所以当他们相遇
2014-12-29 17:25:30 481
原创 uva 11121 Base -2 (负进制计算)
题意:给一个数n,转换为-2进制的数。 解析:因为转换后的每一位数不能为负数,所以考虑如何将每次取模后的负数变为正数,且数为多少。 结论是若取模为负,则加上基数的绝对值,当前的n++。 设当前取模的位 t = n % base (t 减少了需要回加,恰好当前n的值+1 = 原n值回加了base^(i + 1)。
2014-12-29 10:46:02 540
原创 hdu 5135 Little Zu Chongzhi's Triangles(分组dp)
题意:给n条边,要求用其中的某些边组成三角形,每条边只能用一次,问最后拼成的三角形面积总和最大是多少. 解析:开始的时候理解错题目要求了,无脑暴力了一段.之后想到dp,因为要把一堆东西分成一组一组,求每一种分法中的最优,所以就姑且叫他分组dp吧.(...) 首先将边按从小到大排序,保证每一个可拼的三角形的状态都能访问到. 接着将n条边分组,n条边最多可以拼出n / 3组三角形
2014-12-16 10:24:42 488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人