hdu_3127 WHUgirls
来源:互联网 发布:五五开笑笑知乎 编辑:程序博客网 时间:2024/06/07 21:40
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define N 1010struct node{ int x,y,val;}s[30];int dp[N][N];int main(){ int t,n,v1,v2; scanf("%d",&t); while(t--){ scanf("%d%d%d",&n,&v1,&v2); for(int i=0;i<n;i++){ scanf("%d%d%d",&s[i].x,&s[i].y,&s[i].val); s[i+n].x=s[i].y; s[i+n].y=s[i].x; s[i+n].val=s[i].val; } memset(dp,0,sizeof(dp)); for(int i=0;i<=v1;i++){ for(int j=0;j<=v2;j++){ for(int h=0;h<2*n;h++){ int u=s[h].x; int v=s[h].y; if(u<=i&&v<=j) dp[i][j]=max(dp[i][j],max(dp[u][j-v]+dp[i-u][j],dp[i-u][v]+dp[i][j-v])+s[h].val); } } } printf("%d\n",dp[v1][v2]); } return 0;}题意很明确,就是完全背包,刚开始对于n的循环写在外面。。一直wrong,还有个问题就是一刀切的方式应该有两种!
对于n这个循环为什么放里面:我刚开始写在外面,是根据二维背包的写法。。。其实这道题是三维的。。。。。
其实很好理解:两维才对应一个物品。。也就是说一个(x,y)才对应一个物品。。x,y是连在一起。。。。就是说选一个物品,x,y要同时改变。。
- hdu_3127 WHUgirls
- WHUgirls----HDU_3127----二维的完全背包
- WHUgirls
- HDU1272 WHUgirls
- HDU3127-WHUgirls
- hdu 3127 WHUgirls
- HDU3127:WHUgirls(完全背包)
- hdu 3127 WHUgirls
- HDU 3127 WHUgirls
- HDU 3127 WHUgirls
- hdu 3127 WHUgirls
- 南邮 OJ 1545 WHUgirls
- 【HDU】 3127 WHUgirls
- HDU-3127 WHUgirls
- HDU 3127. WHUgirls【dp】
- HDU 3127 WHUgirls 背包问题
- HDU 3127 WHUgirls (完全背包)
- HDU 3127 WHUgirls(完全背包)
- 猫、路由器、交换机的区别
- 如何将MFC中Picture控件中的图像资源存放入Opencv中的Ipllmage变量中
- 推荐管理类图书第一集
- pageEncoding与contentType的区别;在servlet中编写html页面显示必要条件
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
- hdu_3127 WHUgirls
- Intent传递数据时,可以传递哪些类型数据?
- 高性能计算相关资源
- shell数组小结
- hdu_1028 Ignatius and the Princess III
- HDU1009 FatMouse' Trade
- android中判断网络环境
- 解读google的一道面试题
- SQL日期类型