HDOJ Dividing DP
来源:互联网 发布:免费地磅称重软件 编辑:程序博客网 时间:2024/06/05 11:48
没做过多重背包,这题从严格意义上来讲也不算是多重背包。算是很水的递推方程了。
关键是看能不能找不出使得价格为sum/2的,通过递推连接就好了。关键是怎样可达...
#include<iostream>#include<stdio.h>#include<string>int DP[120001];using namespace std;int main(){ int line[7]; int testcase=0; while( true ) { memset( DP,0,sizeof(DP) ); int sum=0; for( int i=1;i<=6;i++ ) { scanf( "%d",&line[i] ); sum+=line[i]*i; } if( sum==0 ) break; printf( "Collection #%d:\n",++testcase ); if( sum&1 ) { printf( "Can't be divided.\n\n" ); continue; } DP[0]=1; for( int i=1;i<=6;i++ ) for( int j=0;line[i];j++ ) { if( line[i]>(1<<j) ) { for( int k=sum/2;k>=i*(1<<j);k-- ) if( DP[k-i*(1<<j)] ) DP[k]=1; line[i]-=(1<<j);}else{for( int k=sum/2;k>=i*line[i];k-- ) if( DP[k-i*line[i]] ) DP[k]=1; line[i]=0;} } if( DP[sum/2]==1 ) printf( "Can be divided.\n\n" ); else printf( "Can't be divided.\n\n" ); } return 0;}
- HDOJ Dividing DP
- hdoj 1059 Dividing【DP-多重背包】
- HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化)
- HDOJ 1059 Dividing
- hdoj 1059 Dividing
- HDOJ-1059 Dividing
- HDOJ(HDU).3466 Dividing coins ( DP 01背包 无后效性的理解)
- pku1014 Dividing (DP)
- dividing coins 简单dp
- POJ1014 Dividing(DP)
- HDOJ1059-Dividing(DP)
- HDOJ 1059 Dividing (多重背包)
- HDoj-1059-Dividing-母函数
- HDOJ 1059 && POJ 1014 Dividing
- HDOJ 6060-RXD and dividing
- POJ1014 Dividing 多重背包[DP]
- HDU 1059 Dividing 【DP背包】
- UVA 711 Dividing up (DP)
- final ,finally,finalize有什么区别!!!
- (五) JavaScript 文档对象模型
- 发布iOS应用全攻略(二)——如何使用iOS开发者授权以及如何申请证书
- sleep和wait有什么区别
- 新手篇
- HDOJ Dividing DP
- 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滑雪