HDOJ Big Event in HDU 多重背包
来源:互联网 发布:免费地磅称重软件 编辑:程序博客网 时间:2024/05/16 12:36
第一次遇到这样的题,平分= =,还要回去好好想一下...
这么水的... 不懂啊= =
#include<iostream>#include<stdio.h>#include<string>using namespace std;int main(){ int n,m; int a[101],c[101]; int DP[100001]; while( scanf( "%d %d",&n,&m )!=EOF ) { if( n==0 && m==0 ) break; for( int i=1;i<=n;i++ ) scanf( "%d",&a[i] ); for( int i=1;i<=n;i++ ) scanf( "%d",&c[i] ); for( int i=0;i<=m;i++ ) DP[i]=0; DP[0]=1; for( int i=1;i<=n;i++ ) for( int j=0;c[i];j++ ) { if( c[i]>(1<<j) ) { for( int k=m;k>=a[i]*(1<<j);k-- ) if( DP[k-a[i]*(1<<j)] ) DP[k]=1; c[i]-=(1<<j); } else { for( int k=m;k>=a[i]*c[i];k-- ) if( DP[k-a[i]*c[i]] ) DP[k]=1; c[i]=0; } } int sum=0; for( int i=1;i<=m;i++ ) sum+=DP[i]; printf( "%d\n",sum ); } return 0;}
- HDOJ Big Event in HDU 多重背包
- HDOJ 1171 Big Event in HDU (多重背包) / (母函数)
- HDOJ题目1171Big Event in HDU(多重背包)
- HDOJ 1171 Big Event in HDU(多重背包)
- HDU Big Event in HDU - 多重背包
- Big Event in HDU (多重背包)
- Big Event in HDU hdu1171 多重背包
- Big Event in HDU(多重背包)
- Big Event in HDU(多重背包问题)
- HDU1171:Big Event in HDU(多重背包)
- Big Event in HDU 多重背包~
- hdu1171 Big Event in HDU (多重背包)
- hdu1171---Big Event in HDU(多重背包)
- hdu1171 Big Event in HDU (多重背包)
- HDU/HDOJ 1171 Big Event in HDU 01背包、多重背包、母函数
- HDOJ 1171 Big Event in HDU(多重背包转化01背包 or 母函数)
- hdu 1171 Big Event in HDU(01背包&多重背包)
- 暑期dp46道(32)--hdoj 1171 Big Event in HDU 多重背包:
- 3087_Shuffle'm Up
- 开机特殊数据包的格式内容
- Mysql源代码阅读笔记(四) 服务器监听
- Debian / Ubuntu linux install kernel headers package
- 在Linux单机上运行Hadoop-0.19.0实例http://blog.csdn.net/shirdrn/article/details/5781776
- HDOJ Big Event in HDU 多重背包
- jquery 无刷新上传文件,xmlhttprequest是无法上传文件的。
- poj-1088滑雪
- C语言解析pcap文件得到HTTP信息实例
- 秀一下软件的最新版本截图!我的心血啊
- GDAL1.9.0版本编译后,打不开含中文路径文件的解决办法
- Handler的使用(二)
- pcap编程深入解析
- ansi和unicode知识简介