博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2844(多重背包)
阅读量:5268 次
发布时间:2019-06-14

本文共 797 字,大约阅读时间需要 2 分钟。

题目链接:

思路:其实就是多重背包的应用,只是这里价值和重量是相等的,因此最后计数是要计价值和重量相等的个数;

View Code
1 #include
2 #include
3 const int N=100010; 4 using namespace std; 5 int n,m; 6 7 struct Node{ 8 int value; 9 int number;10 }node[N/100];11 int dp[N];12 13 //完全背包14 void CompletePack(int value){15 for(int i=value;i<=m;i++){16 dp[i]=max(dp[i],dp[i-value]+value);17 }18 }19 20 //01背包21 void ZeroOnePack(int value){22 for(int i=m;i-value>=0;i--){23 dp[i]=max(dp[i],dp[i-value]+value);24 }25 }26 27 //多重背包28 void MultiplePack(int value,int number){29 //如果>=m,就按完全背包处理30 if(value*number>=m){31 CompletePack(value);32 return ;33 }34 int k=1;35 while(k

 

转载于:https://www.cnblogs.com/wally/archive/2013/03/12/2955340.html

你可能感兴趣的文章
整理推荐的CSS属性书写顺序
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
源代码的下载和编译读后感
查看>>
Kafka学习笔记
查看>>
Octotree Chrome安装与使用方法
查看>>
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现
查看>>
趣谈Java变量的可见性问题
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
验证组件FluentValidation的使用示例
查看>>
0320-学习进度条
查看>>
解决windows系统的oracle数据库不能启动ora-00119和ora-00130的问题
查看>>
ip相关问题解答
查看>>
MetaWeblog API Test
查看>>
反弹SHELL
查看>>
关闭Chrome浏览器的自动更新和升级提示
查看>>
移动、尺寸改变
查看>>
poj2255Tree Recovery【二叉树重构】
查看>>