Ahui Writes Word hdu3732 多重背包
来源:互联网 发布:windows组件中没有ie 编辑:程序博客网 时间:2024/05/01 10:07
http://acm.hdu.edu.cn/showproblem.php?pid=3732
好长时间没写题了。。
从前辈的博客里抄来的。。
/从题意上看明显是01背包,但是如果用01背包做肯定会超时,仔细看了下数据,每个单词的价值和复杂度只有0到10,最多有11*11种情况,所有可以看成是多重背包问题,用二维数组t来记录个数**/
自己的代码。
/* * hdu3732.cpp * * Created on: 2013-4-12 * Author: DELL */#include <iostream>using namespace std;#define N 14#define MAX 100005int word[N][N],value[MAX],size[MAX],rel[MAX];int max(int a,int b){if (a>b)return a;return b;}int main(){#ifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);#endifint n,c,v,lex,i,j,count,k;char s[N];while(scanf("%d%d",&n,&c)!=EOF){for (i=0;i<N;i++)for (j=0;j<N;j++)word[i][j]=0;for (i=0;i<n;i++){scanf("%s%d%d",s,&v,&lex);word[v][lex]++;}count=0;for (i=0;i<N;i++)for (j=0;j<N;j++){for (k=1;k<=word[i][j];k<<=1){value[count]=k*i;size[count++]=k*j;word[i][j]-=k;}if (word[i][j]>0){value[count]=word[i][j]*i;size[count++]=word[i][j]*j;}}memset(rel,0,sizeof(rel));for (i=0;i<count;i++)for (j=c;j>=size[i];j--)rel[j]=max(rel[j],rel[j-size[i]]+value[i]);printf("%d\n",rel[c]);}return 0;}
- Ahui Writes Word hdu3732 多重背包
- hdu3732 Ahui Writes Word (多重背包)
- 【hdu3732】Ahui Writes Word——多重背包
- HDU3732 - Ahui Writes Word(0-1背包转换为多重背包)
- hdu 3721 Ahui Writes Word 多重背包
- HDOJ 3732 Ahui Writes Word (多重背包)
- HDOJ3732--Ahui Writes Word--多重背包
- hdoj 3732 Ahui Writes Word (多重背包)
- HDU 3732 Ahui Writes Word(多重背包)
- HDU 3732(Ahui Writes Word)多重背包
- HDU - 3732 Ahui Writes Word(多重背包)
- hdu 3732 Ahui Writes Word 多重背包 小心超时
- Ahui Writes Word(01转化为多重背包)
- 杭电3732 Ahui Writes Word (多重背包问题)
- HDU 3732 Ahui Writes Word(多重背包问题)
- hdu 3732 Ahui Writes Word 【多重背包】、好题
- (DP,多重背包) Ahui Writes Word -- HDOJ
- HDU_3732 Ahui Writes Word 背包
- 现代通信之我见
- 工厂方法设计模式
- A - Sum of Consecutive Prime Numbers
- 工厂方法设计模式
- 状态机编程
- Ahui Writes Word hdu3732 多重背包
- 第一次开发分享的经验教训
- VMware网络设置(超级好)
- 但做实事,莫问前程
- 如何扩展Orchard
- 数组求和问题
- 两种JSP页面include用法的区别
- 比较全面的gdb调试命令
- 关于黑框下模拟贪食蛇的若干经验