母函数讲解
来源:互联网 发布:网络信息工作领导小组 编辑:程序博客网 时间:2024/05/29 08:41
转载出处:
http://blog.csdn.net/xiaofei_it/article/details/17042651
hdu 2082
#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;int dp1[55],dp2[55];int v[30];int num[30];void solve(){memset(dp1,0,sizeof(dp1));memset(dp2,0,sizeof(dp2));dp1[0]=1;for(int i=1;i<=26;i++){for(int j=0;j<=num[i]&&j*v[i]<=50;j++){for(int k=0;k+v[i]*j<=50;k++){dp2[k+j*v[i]]+=dp1[k];}}for(int j=0;j<=50;j++){dp1[j]=dp2[j];dp2[j]=0;}}}int main(){int T;cin>>T;while(T--){memset(v,0,sizeof(v));for(int i=1;i<=26;i++){v[i]=i;cin>>num[i];}solve();int ans=0;for(int i=1;i<=50;i++){ans+=dp1[i];}cout << ans << endl;}}
#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;int dp1[55],dp2[55];int v[30];int num[30];void solve(){ memset(dp1,0,sizeof(dp1)); memset(dp2,0,sizeof(dp2)); dp1[0]=1; for(int i=1;i<=26;i++) { for(int j=0;j<=50;j++) { for(int k=0;k<=num[i]&&k*v[i]+j<=50;k++) { dp2[j+k*v[i]]+=dp1[j]; } } for(int j=0;j<=50;j++) { dp1[j]=dp2[j]; dp2[j]=0; } }}int main(){ int T; cin>>T; while(T--) { memset(v,0,sizeof(v)); for(int i=1;i<=26;i++) { v[i]=i; cin>>num[i]; } solve(); int ans=0; for(int i=1;i<=50;i++) { ans+=dp1[i]; } cout << ans << endl; }}
更多:http://www.cnblogs.com/lijunle/archive/2010/09/04/1817764.html
阅读全文
0 0
- 母函数讲解
- 母函数讲解篇
- 母函数讲解
- 母函数讲解
- 母函数讲解及应用
- 母函数学习及例题讲解
- inlin 函数讲解 --转
- stat函数讲解
- linux stat函数讲解
- Attach函数的讲解
- linux stat函数讲解
- memset函数详细讲解
- gethostbyname函数讲解
- Linux stat函数讲解
- Linux stat函数讲解
- Linux stat函数讲解
- linux stat函数讲解
- Linux stat函数讲解
- CA和证书
- CCF CSP 2015年03月第4题 网络延迟(求树的直径)
- 使用nmcli配置网络
- hibernate数据增删改查汇总
- 回形针填数
- 母函数讲解
- Android 8.0 行为变更-针对所有 API 级别的应用
- PDF转换图片,图片的切割,图片转换PDF以及PDF加水印等记录贴
- jquery和ajax的关系详细介绍
- linux系统磁盘分区之parted
- 二叉树的应用-----前序中序 推 后序
- 物理存储介质、物理卷、逻辑卷、卷组、快照卷之间的联系
- Codeforces Round #439
- HTML(一) 基本概念