Hduoj2709【规律题】
来源:互联网 发布:c语言标准库函数有哪些 编辑:程序博客网 时间:2024/04/27 05:14
#include<stdio.h>int a[1000010];int main(){int i, n;a[1] = 1;a[2] = 2;for(i = 3; i <= 1000000; ++i){if(i & 1)a[i] = a[i-1];elsea[i] = a[i-1] + a[i/2];if(a[i] >= 1000000000)a[i] %= 1000000000;}while(scanf("%d", &n) != EOF){printf("%d\n", a[n]);}return 0;}
题意:将一个数拆分成一些2^i数的和,共多少种情况。
思路:当n为奇数时,总会多出个1,即和n-1情况是一样的;当n为偶数时又分成2种情况,一种是有1的,则它分解的情况和n-1相同,一种是没1的,则情况数刚好和n/2是一样的,其实就是将a[n/2]的所有式子都乘以2。当n=1时为1,2时为2,递推1~1000000的答案。
0 0
- Hduoj2709【规律题】
- 【规律题】
- 规律题
- 规律题
- SOJ2506 规律题
- HDU 2582 规律题
- 蟠桃记 + 规律题
- HDU1005.规律题
- hdu1005(找规律题)
- hdu 1792规律题
- hdu 4925规律题
- 数学+找规律题
- CSU 规律题
- lightOJ 1005 【规律题】
- hdu 5524 规律题
- Shopping(规律题)
- VJ 【规律题】
- VJ【规律题】
- [LeetCode]64.Minimum Path Sum
- pos终端 8583协议
- 同步和异步及多线程
- 建立 安卓下的gdb 环境 解决问题一览
- C语言问题总结(sprintf)
- Hduoj2709【规律题】
- 【二叉树】分层遍历二叉树和打印二叉树第k层节点
- 系统设计
- 使用System.arraycopy()实现数组之间的复制
- MFC学习总结 (**个技巧) dlg 上建立View
- 让图片光泽更突出(用于家具效果)
- http://xys289187120.blog.51cto.com/3361352/657169
- [LeetCode]Two Sum
- MongoDB介绍