2013年6月21日

EOJ 1821 Hanoi Tower III

摘要: http://acm.cs.ecnu.edu.cn/problem.php?problemid=1821这题就等价于普通的汉诺塔,只是每一层移动两次,原来需要2^n - 1次,则现在需要2^(n + 1) - 2次,递推式为f(i) = 2 * f(i - 1) + 2 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 unsigned long long f[62]; 5 int main() 6 { 7 f[1] = 2; 8 for (int i = 2; i < 62; i 阅读全文

posted @ 2013-06-21 13:12 KimKyeYu 阅读(182) 评论(0) 推荐(0) 编辑

EOJ-1860 Finger Counting

摘要: http://acm.cs.ecnu.edu.cn/problem.php?problemid=1860题意:简单地说,对于一个1,2,3,4,5,4,3,2,1,2,……序列,限定某个数最多出现cnt次,求可得到序列元素个数的最大值cnt为10^8级,不能直接模拟,故找到循环节1,2,3,4,5,4,3,2有8个元素,1和5各出现一次,2,3,4各出现2次,观察序列可得到规律,即(cnt/出现次数)+a,a由该数的位置决定可推广至n种数字的序列。对于1,2,3,4,……n-1,n,n-1,…,2,1,2,……可知 循环节长度d=2n-2。循环节中,1与n各出现1次,其余各出现2次。限定某个数 阅读全文

posted @ 2013-06-21 02:20 KimKyeYu 阅读(221) 评论(0) 推荐(0) 编辑

导航