HDU 4671 Partition(定理题)
2013-08-06 19:08
381 查看
题目链接
这题,明显考察搜索能力。。。在中文版的维基百科中找到了公式。
这题,明显考察搜索能力。。。在中文版的维基百科中找到了公式。
#include <cstdio> #include <cstring> #include <string> #include <algorithm> using namespace std; #define MOD 1000000007 #define LL __int64 LL dp[200001]; int que[1001],flag[1001]; int main() { int i,n,t,j,num; LL x; num = 0; for(i = 0;;i ++) { t = (3*i*i - i)/2; if(t > 300000) break; flag[num] = i; que[num++] = t; t = (3*i*i + i)/2; flag[num] = i; que[num++] = t; } dp[1] = 1;dp[2] = 2; dp[0] = 1; for(i = 3;i <= 100000;i ++) { for(j = 1;j <= 895;j ++) { if(que[j] > i) break; else x = dp[i-que[j]]; if(flag[j]%2 == 1) { dp[i] = (dp[i] + x)%MOD; } else { dp[i] = (dp[i] - x)%MOD; if(dp[i] < 0) dp[i] += MOD; } } } scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%I64d\n",dp ); } return 0; }
相关文章推荐
- HDU 4671 - Partition(2013MUTC5-1009)(整数拆分,五边形数定理)
- hdu 4671 Partition(DP,整数划分,5级)
- hdu 4651 - Partition(五边形数定理)
- 【hdu 4658】Integer Partition (无序分拆数、五边形数定理)
- hdu 4651 Partition (利用五边形定理求解切割数)
- hdu 4651 Partition,公式题,维基百科上搜五边形定理即可
- hdu - 4651 - Partition(五边形数定理)
- hdu 4651 Partition 五边形数定理
- hdu 4651 Partition (利用五边形定理求解分割数)
- 2013 多校第六场 hdu 4658 Integer Partition(五边形数定理,整数划分)
- [五边形数定理 DP] 51Nod 1259 整数划分 V2 & HDU 4651 Partition
- hdu 4671 Partition(DP,整数划分,5级)
- HDU 4982 Goffi and Squary Partition(推理)
- hdu 4602 Partition
- HDU 1573 中国剩余定理 (未学习)
- hdu - 4602 《Partition》
- HDU 4373 Mysterious For(Lucas定理、中国剩余定理)
- HDU 4602 Partition 解题报告
- hdu - 4602 - Partition(快速幂)
- hdu 4982 Goffi and Squary Partition (想法题)