poj1252
来源:互联网 发布:windows xp虚拟打印机 编辑:程序博客网 时间:2024/05/09 22:41
非常经典的背包题目
/*+和-的顺更新序不一样,+是从小到大依次更新,-是从大到小依次更新,所以不能同时更新两个变量,故要进行两次完全背包 除此之外,由于有可能先大于100,然后再减去某数获得小于100的数,因此数组不能只开到100,具体应至少开到50*100这么大,可以保证最多100次使用且获得小于100的数。 */#include <iostream>#include <cstring>#include <cstdio>using namespace std;int min(int a,int b){ return a>b?b:a;}int dp[20001];int main(){ int r; cin>>r; while (r--) { memset (dp,0,sizeof(dp)); int v[7]; int m=0; double sum=0; for (int i=1;i<=6;i++) cin>>v[i]; memset(dp,0,sizeof(dp)); for (int i=1;i<=20000;i++) dp[i]=2000; for (int i=1;i<=6;i++) { for (int t=v[i];t<=20000;t++) { dp[t]=min(dp[t],dp[t-v[i]]+1); } } for (int i=1;i<=6;i++) { for (int t=20000-v[i];t>=1;t--) { dp[t]=min(dp[t],dp[t+v[i]]+1); } } for (int i=1;i<=100;i++) { sum+=dp[i]; if (dp[i]>m) m=dp[i]; } printf("%.2f %d\n",sum/100,m); } return 0;}
0 0
- poj1252
- poj1252
- poj1252 BFS
- poj1252解题报告
- poj1252 Euro Efficiency
- 完全背包的变形POJ1252
- POJ1252 完全背包 dp 搜索 dfs bfs
- poj1252-完全背包(正负背包)
- python extending with c++
- RS232转SR485转换器的小问题
- JavaSE 8 :Lambda 快速学习(一)
- Hadoop的序列化
- struct和typedef struct
- poj1252
- Linux下动态共享库 连接和加载路径
- dojo CsvStore简介
- javascript概述
- git/svn reset/revert 回滚到服务器上的某一个版本
- c语言中一级指针和二级指针做函数参数
- Leetcode Search for a Range 解题报告
- 块级元素和行内元素都有哪些
- 关于jTable