hdu2159-完全背包
来源:互联网 发布:4行4列矩阵的值怎么求 编辑:程序博客网 时间:2024/06/15 23:07
这题就是比普通的完全背包多了一个个数的判断,我用一个num[ maxn ] 来记录个数,并用它来控制 f[ ]的更新:if(num[v]>=m)continue;f[v]<f[v-c[i]]+w[i]&&num[v-c[i]]<s;即这两句来实现控制;下面就直接上代码:
#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int maxn=105;const int Maxn=105;int f[maxn];int c[Maxn],w[maxn];int num[maxn];int main(){ //freopen("int.txt","r",stdin); int n,m,k,s; while(~scanf("%d%d%d%d",&n,&m,&k,&s)){ for(int i=0;i<k;i++) scanf("%d%d",&w[i],&c[i]); memset(f,0,sizeof(f)); memset(num,0,sizeof(num)); for(int i=0;i<k;i++) for(int v=c[i];v<=m;v++){ if(num[v]>=m)continue; if(f[v]<f[v-c[i]]+w[i]&&num[v-c[i]]<s){ f[v]=f[v-c[i]]+w[i]; num[v]=num[v-c[i]]+1; } } int mv=0; for(int v=m;v>=0;v--){ if(f[v]>=n)mv=v; } printf("%d\n",mv?m-mv:-1); } return 0;}
0 0
- hdu2159二维完全背包
- hdu2159 二维完全背包
- hdu2159-完全背包
- hdu2159 二维完全背包
- hdu2159 完全背包
- HDU2159:FATE(二维完全背包)
- hdu2159 FATE (二维完全背包)
- HDU2159:FATE(二维完全背包)
- HDU2159:FATE(二维完全背包)
- HDU2159 FATE 【二维完全背包】
- hdu2159 FATE (二维完全背包)
- hdu2159 FATE --二维完全背包
- HDU2159 FATE 二维费用背包-完全背包
- B 二维背包+完全背包 Hdu2159
- HDU2159 FATE,二维背包+完全背包
- hdu2159 FATE 二维的完全背包
- hdu2159 FATE(二维完全背包)
- HDU2159: FATE(二维完全背包)
- 【wikioi1506】传话(9018p1417)
- Chronic sleep loss cannot be cured that easily
- CentOS 修改IP地址DNS,网关
- 排序算法之插入排序
- rundll32参数
- hdu2159-完全背包
- MySQL数据、索引信息统计
- SDNUOJ 1139.Emergency
- librt.so主要是glibc对real-time部分的支持
- mstsc 使用技巧
- android SQLite数据库操作
- asp.net 当前上下文不存在名称 XXX
- 关于Eclipse中import javax.servlet.*出错
- cannot convert parameter 1 from 'const char [] ' to 'const wchar_t * '的解决方法