HDU 5185 Equation 完全背包变形.
来源:互联网 发布:苏联的秘密武器知乎 编辑:程序博客网 时间:2024/05/22 06:36
HDU 5185
题意:x1+x2...xn=n 约束条件:0<=x[i]<=n, x[i]<=x[i+1]<=x[i]+1.
给出n 问多少组{x[i]}满足上面等式. n<=5e4.
任意一个合法的方案为:{k[0]个0,k[1]个1,k[2]个2....k[i]个i};
k[0]+..k[i]=n; k[1]*1+k[2]*2+..i*k[i]=n.
i*(1+i)/2<=n i不大于sqrt(n)
不知道k[i]实际上用多少 类似完全背包.设置f[i][j]:连续数为1..i时,和为j的方案.
题意:x1+x2...xn=n 约束条件:0<=x[i]<=n, x[i]<=x[i+1]<=x[i]+1.
给出n 问多少组{x[i]}满足上面等式. n<=5e4.
任意一个合法的方案为:{k[0]个0,k[1]个1,k[2]个2....k[i]个i};
k[0]+..k[i]=n; k[1]*1+k[2]*2+..i*k[i]=n.
i*(1+i)/2<=n i不大于sqrt(n)
不知道k[i]实际上用多少 类似完全背包.设置f[i][j]:连续数为1..i时,和为j的方案.
f[i][j]=f[i-1][j-i]+f[i][j-i]. 至少选一个.
选不够n个的 前面用若干个0来替代即可.所以不用考虑每个数具体选的数量
#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=5e4+5,M=320;int T,n,m,cas=0,dp[M][N];int main(){ scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); memset(dp,0,sizeof(dp)); dp[0][0]=1; ll ans=0; int k=1; while(k*(k+1)<=2*n) k++; k--; for(int i=1;i<=k;i++) { for(int j=i;j<=n;j++) dp[i][j]=(dp[i-1][j-i]+dp[i][j-i])%m; ans=(ans+dp[i][n])%m; } printf("Case #%d: %lld\n",++cas,ans); } return 0;}
阅读全文
0 0
- hdu 5185 Equation (完全背包变形)
- HDU 5185 Equation 完全背包变形.
- HDU 5185 Equation (线性dp 完全背包)
- hdoj 5185 Equation (线性dp 完全背包)
- hdu 1398 Square Coins 完全背包变形
- 完全背包变形--hdu-1114-Piggy-Bank
- HDU 1114 Piggy-Bank 完全背包变形
- HDU 1114 Piggy-Bank 完全背包变形
- HDU1114 完全背包变形
- hdu5534 完全背包变形
- nyoj331 完全背包变形
- HDU 1114 Piggy-Bank 完全背包的变形
- HDU 5534 Partial Tree (变形完全背包 好题)
- [hdu 5410 CRB and His Birthday] 完全背包变形
- HDU 1114 Piggy-Bank(完全背包动态规划+变形)
- poj 1882完全背包变形
- UVA 10313(完全背包变形)
- 完全背包的变形POJ1252
- 环境搭建之window下solr配置
- Recommend《黑客与画家》
- 广义线性模型
- 记录下一年多搞ACM的时光
- HDOJ5584 Lcm Walk 2015ICPC上海-L
- HDU 5185 Equation 完全背包变形.
- Faster RCNN详解
- 【宏观】两期动态模型
- leetcode 628. Maximum Product of Three Numbers(C语言,堆排序,计算最大乘积)33
- Hibernate对象关联映射
- Leetcode代码学习周记——Container With Most Water
- php封装单文件上传到数据库(路径)
- <学习笔记?>考试与做题的注意事项总结。
- zookeeper 安装