2017多校5 1008 Rikka with Subset
来源:互联网 发布:淘宝账号管理在哪里 编辑:程序博客网 时间:2024/05/26 02:20
http://acm.hdu.edu.cn/showproblem.php?pid=6092
这道题因为比赛的时候卡在了1006上,所以没看。清题的时候一看,感觉是能做的,求一串数列,总和为m,并且会给出这个数列中所有子序列和等于1到m所有的情况数。
可以想到,一个较大的数可以是由几个小数相加得到,也可以从一个等于该数的数得到,并且这几个小数也适用这个规则,那么就可以从小到大用01背包动态规划思想去处理,出现了哪些数以及该数出现的次数。
#include<iostream>#include<cstring>using namespace std;#define ma(a) memset((a),0,sizeof((a)))int dp[11111],num[11111],a[11111],ans[11111];int main(){ long long t; cin>>t; long long n,m; while(t--) { ma(dp); ma(a); ma(ans); int i,j,k; scanf("%lld%lld",&n,&m); for(i=0;i<=m;i++) scanf("%d",&a[i]); dp[0]=1; int _js=0; for(i=1;i<=m;i++) { num[i]=a[i]-dp[i]; for(j=0;j<num[i];j++) { ans[_js++]=i; for(k=m;k>=i;k--) dp[k]+=dp[k-i]; } } int q=0; for(i=0;i<_js;i++) { if(q++)printf(" "); printf("%d",ans[i]); } cout<<endl; } return 0;}
阅读全文
0 0
- 2017多校5 1008 Rikka with Subset
- HDU 6092 Rikka with Subset (2017多校5-背包)
- HDU6092-2017多校5&&背包&贪心-Rikka with Subset
- 【2017多校】HDU6092 Rikka with Subset 【DP】
- 2017多校五 1008题 hdu 6092 Rikka with Subset 背包
- 2017多校训练Contest5: 1008 Rikka with Subset hdu6092
- Hdu6092 Rikka with Subset(2017多校第5场)
- HDU-2017 多校训练赛5-1008-Rikka with Subset
- 2017杭电多校第五场Rikka with Subset
- HDU6092 Rikka with Subset
- HDU6092-Rikka with Subset
- hdu6092 Rikka with Subset
- HDU6092(Rikka with Subset)
- Rikka with Subset HDU
- Rikka with Subset HDU
- HDU6092-Rikka with Subset
- Rikka with Subset HDU
- HDU 5829 Rikka with Subset
- CKEditor 安装及使用
- Hbase配置项粗解
- 在wamp集成开发环境下discuz论坛开启伪静态
- Python-day12(day13)
- 日志系列--程序日志处理挑战与方案
- 2017多校5 1008 Rikka with Subset
- 自练题20170718
- activity四种启动模式
- Java中如何移除List中前/后几个元素?
- php 生成图片二维码
- 五、华为2017<明明的随机数>
- 聚集索引和非聚集索引
- java 单例设计模式
- localStorage和sessionStorage区别