多重背包(二进制优化)
来源:互联网 发布:three.js skybox 编辑:程序博客网 时间:2024/06/03 22:40
类似于poj 1014
qduoj
#include<bits/stdc++.h>#define maxn 100007using namespace std;int mm[20][20];int dp[maxn];int v[maxn];int w[maxn];int main(){ int n,m,t; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); memset(mm,0,sizeof(mm)); memset(dp,0,sizeof(dp)); int ti,vi; for(int i=0;i<n;i++) { scanf("%d%d",&ti,&vi); mm[ti][vi]++; } int cnt=1; for(int i=1;i<=10;i++) for(int j=1;j<=10;j++) { int tmp = mm[i][j]; for(int k=1;k<=tmp;k<<=1) { v[cnt]=j*k; w[cnt]=i*k; cnt++; tmp-=k; } if(tmp>0) { v[cnt]=j*tmp; w[cnt]=i*tmp; cnt++; } } for(int i=1;i<cnt;i++) for(int j=m;j>=w[i];j--) dp[j]=max(dp[j-w[i]]+v[i],dp[j]); cout<<dp[m]<<endl; } return 0;}
阅读全文
0 0
- 多重背包(二进制优化)
- 多重背包(二进制优化)
- 多重背包(二进制优化)
- 多重背包二进制优化
- 多重背包二进制优化
- 多重背包二进制优化
- 多重背包--二进制优化
- 动规-混合多重背包(多重背包二进制优化)
- poj1014 dividing(多重背包+二进制优化)
- 多重背包模板解析 (二进制优化)
- HDU Dividing (多重背包+二进制优化)
- Coins(多重背包+二进制优化)
- hdu1059 Dividing(多重背包+二进制优化)
- hdu2844 Coins(多重背包+二进制优化)
- hdu1059 Dividing(多重背包+二进制优化)
- HDU1059:Dividing(多重背包二进制优化)
- 多重部分和问题(多重背包+二进制优化)
- hdu1059Dividing 多重背包二进制优化
- mysql my.ini配置文件中的 max_allowed_packet
- maven打包jar,排除不需要jar
- Block的解析
- 内存四区分配图和指针
- combo_box SetCurSel(i)设置显示的内容
- 多重背包(二进制优化)
- 路由器工作在哪一层
- Intellij IDEA配置PHP开发环境
- git学习------>在CenterOS系统上安装GitLab并自定义域名访问GitLab管理页面
- xcode duplicate symbols lipo
- Eclipse快捷键
- 响应式布局
- Eclipse 快捷键 大全
- 最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)——雷神经典