tyvj 1087 拆分 - 递推
2017-08-03 19:15
246 查看
传送门
题解:O(nlgn)DP显然。100%做法需要递推。
考虑如果n是奇数那么显然拆分方案中必然有至少一个1.
因此此时方案数等于n-1的方案数。
否则如果n为偶数,分两种情况考虑。
第一种,拆分方案中有1,这个和上面的一样。
第二种,没有1.全部都是2.那么整体除以2,方案等于n/2的方案数。
代码:
题解:O(nlgn)DP显然。100%做法需要递推。
考虑如果n是奇数那么显然拆分方案中必然有至少一个1.
因此此时方案数等于n-1的方案数。
否则如果n为偶数,分两种情况考虑。
第一种,拆分方案中有1,这个和上面的一样。
第二种,没有1.全部都是2.那么整体除以2,方案等于n/2的方案数。
代码:
//tyvj 1087 #include<iostream> #include<cstring> #include<cstdio> #define mod 1000000000 #define N 1000010 using namespace std; int f ; int main() { int n;scanf("%d",&n);f[1]=1; for(int i=2;i<=n;i++) { f[i]=f[i-1]; if(!(i&1)) f[i]=(f[i]+f[i>>1])%mod; } printf("%d\n",f );return 0; }
相关文章推荐
- 【TYVJ】1087 sumsets
- POJ 3181 Dollar Dayz【递推 拆分存大数】
- TYVJ 1087 sumsets 解题报告
- 贪心,暴力,递推,物品拆分(Delicious Apples,HDU 5303)
- 【日常学习】【高精】【数学递推】tyvj1375 山洞历险题解
- tyvj1172 自然数拆分Lunatic版
- [TYVJ-1021] 递推
- Tyvj 1172 自然数的拆分
- 自然数拆分(tyvj1171)
- hdoj 1028 Ignatius and the Princess III 整数拆分 递推
- 小白算法练习 poj 1664 放苹果 整数拆分 递推
- tyvj[1087]sumsets
- tyvj1087 sumsets
- 【bzoj 3450】【Tyvj 1952】Easy(概率与期望+递推)
- 51nod 1087 1 10 100 1000【递推】
- HDU-4651 Partition 整数拆分,递推
- [递推] BZOJ2173:整数的lqp拆分
- tyvj 1290 一个n位数字中出现偶数个7的个数 递推
- tyvj p1171 拆分自然数
- 题目1084:整数拆分 (递推)