找规律
题意很清楚~~
思路:
s[n]数组储存2^n 下标代表幂指数
原数:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
变形: 1 2 1 4 1 2 1 8 1 2 1 4 1 2 1 16 1 2 1 4 1 2
原数:23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ···· 64 ··· 128 ··
变形: 1 8 1 2 1 4 1 2 1 32 1 2 1 4 1 2 1 ··· 64 ··· 128··
看到规律没~~~
所有的变形数都是2^n,而且是有规律的出现。
例如:
1 每隔 2 出现一次
2 每隔 4 出现一次
4 每隔 8 出现一次
8 每隔 16出现一次
····
题意很清楚~~~
思路:找规律~~~~
[10,20] 之间可以的有 9 组且公共长度为 1 (19,20)没有
[20,30] 之间可以的有 9 组且公共长度为 2 (29,30)没有
[30,40] 之间可以的有 9 组且公共长度为 3 (39,40)没有
···
[110,120] 之间可以的有 10 组公共长度为 11 有 9 组 公共长度为1的有一组(119,120)
[120,130] 之间可以的有 10 组公共长度为 12 有 9 组 公共长度为1的有一组(129,130)
···
[180,190] 之间可以的有 10 组公共长度为 19 有 9 组 公共长度为1的有一组(189,190)
[190,200] 之间可以的有 9 组公共长度为 19 有 9 组 (199,200)没有
···
主要代码:
while(n>10) { b=n/x; //去掉n的最后一位 a=n%x; //取n的最后一位 sum += a*b; //有a个公共长度为b的 b = b-1; //其余的[1, b-1]都要乘9 sum += (9*(b*b+b)/2); //求和公式再乘9 n=n/10; //n去掉一位重复计算~~
}
题目链接:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5319
思路:任意连续的四个数倒序时,经过题目要求的减法操作值都会变为0.
证明: a, a+1, a+2, a+3. 代表连续的四个数。
倒序时,| a+2 - a+3 |= 1; | a+1 - 1 | = a; | a – a | = 0;
所以只需要判断 n%4 的余数就好。
求最大值时,对n-1进行倒序,把n加到最后。
求最小值时,对n 进行倒序。
2) 如果N=3,由最快的人往返一次把其他两人送过河。
3) 如果N≥4,设A、B为走得最快和次快的旅行者,过桥所需时间分别为a、b;而Z、Y为走得最慢和次慢的旅行者,过桥所需时间分别为z、y。那么
当2b>a+y时,使用模式一将Z和Y移动过桥;
当2b<a+y时,使用模式二将Z和Y移动过桥;
当2b=a+y时,使用模式一将Z和Y移动过桥。
这样就使问题转变为N-2个旅行者的情形,从而递归解决之。
题目链接:http://acdream.info/problem?pid=1008
完全画图可以推出来的规律
if(n<3) sum=0; if(n==3) sum=1; if(n==4) sum=8; if(n==5) sum=35; if(n==6) sum=32; if(n>6) sum=n*5; 解题思路: http://blog.csdn.net/libin56842/article/details/26058357(自己一直没找到规律。。。)
N为偶数时, ans = N * (N/2 - 1) * (N / 2 - 2) / 6;
N为奇数时, ans = N * (N/2) * (N / 2 + 1) / 6;

浙公网安备 33010602011771号