hdu 3535
来源:互联网 发布:网络疯传婚礼新娘吃 编辑:程序博客网 时间:2024/05/22 08:16
以前不会做的题目,看完分组背包后突然就会做了。
#include<iostream>using namespace std;int dp[105][105];int cost[105],value[105];int maxi(int a,int b){if(a>b)return a;else return b;}int main(){int n,t,i,j,m,s,k;while(cin>>n>>t){for(i=0;i<=t;i++)dp[0][i]=0;for(i=1;i<=n;i++){cin>>m>>s;for(j=1;j<=m;j++)cin>>cost[j]>>value[j];if(s==0){for(k=0;k<=t;k++)dp[i][k]=-10000000;for(j=1;j<=m;j++)for(k=t;k>=cost[j];k--){dp[i][k]=maxi(dp[i][k],dp[i][k-cost[j]]+value[j]);dp[i][k]=maxi(dp[i][k],dp[i-1][k-cost[j]]+value[j]);}}if(s==1){for(k=0;k<=t;k++)dp[i][k]=dp[i-1][k];for(j=1;j<=m;j++)for(k=t;k>=cost[j];k--)dp[i][k]=maxi(dp[i][k],dp[i-1][k-cost[j]]+value[j]);}if(s==2){for(k=0;k<=t;k++)dp[i][k]=dp[i-1][k];for(j=1;j<=m;j++)for(k=t;k>=cost[j];k--){dp[i][k]=maxi(dp[i][k],dp[i][k-cost[j]]+value[j]);dp[i][k]=maxi(dp[i][k],dp[i-1][k-cost[j]]+value[j]);}}}dp[n][t]=maxi(dp[n][t],-1);cout<<dp[n][t]<<endl;}return 0;}
- hdu 3535
- HDU 3535
- HDU 3535 混合背包
- 【分组背包】HDU 3535
- HDU 3535 混合背包
- hdu 3535 分组背包
- HDU 3535 AreYouBusy
- HDU 3535 AreYouBusy
- HDU-3535-AreYouBusy
- hdu 3535 DP
- hdu 3535 AreYouBusy
- hdu 3535 AreYouBusy dp
- HDU 3535 AreYouBusy
- HDU 3535 背包综合
- HDU 3535 AreYouBusy
- hdu acm 3535 AreYouBusy
- hdu 3535 混合背包
- hdu 3535 混合背包
- 自写strstr函数
- NO.4 使用预处理器进行调试
- java代码性能优化
- JS微信打飞机游戏(二)
- 【HDOJ】1234 -> 开门人和关门人
- hdu 3535
- SGU 180 Inversions
- Warm up 2(hdu4619,二分匹配)
- opencv 多组图片 合成视频动画avi
- Android adb push 操作时问题的解决方法及ubuntu下avd的生成
- 结构体对齐详解
- 从无序数组中获取最小的M个元素(小顶堆实现)
- Charting Basics制作图表的基本知识
- SRM 588 D2 L3:GameInDarknessDiv2,DFS