c4 L3-001 找零钱 (简单01背包-输出最小字典序解(用vector保存当前最优解))
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=1e4+;
int a[N];
bool dp[];
vector < vector <int> > ans ();
int n,m;
bool cmp (vector<int> x, vector<int> y) {// 不用考虑x与y得大小 因为至少一个数不同 或者全部相同
for (int i=;i<x.size();i++) {
if (x[i]<y[i]) return ;
else if (x[i]>y[i]) return ;
}
return ;
}
int main ()
{
scanf ("%d %d",&n,&m);
for (int i=;i<=n;i++)
scanf ("%d",&a[i]);
sort (a+,a++n);
dp[]=;
for (int i=;i<=n;i++) {
for (int j=m;j>=a[i];j--) {
if (dp[j-a[i]]) {
vector <int> tmp=ans[j-a[i]];
tmp.push_back(i);
if (!dp[j]) { dp[j]=;ans[j]=tmp; }
else if (cmp (tmp,ans[j])) ans[j]=tmp;
}
}
}
if (!dp[m]) printf ("No Solution\n");
else {
printf ("%d",a[ans[m][]]);
for (int i=;i<ans[m].size();i++)
printf (" %d",a[ans[m][i]]);
printf ("\n");
}
return ;
}
c4 L3-001 找零钱 (简单01背包-输出最小字典序解(用vector保存当前最优解))的更多相关文章
- HDU 2639 (01背包第k优解)
/* 01背包第k优解问题 f[i][j][k] 前i个物品体积为j的第k优解 对于每次的ij状态 记下之前的两种状态 i-1 j-w[i] (选i) i-1 j (不选i) 分别k个 然后归并排序并 ...
- Codeforces Gym-102219 2019 ICPC Malaysia National E. Optimal Slots(01背包+输出路径)
题意:给你一个体积为\(T\)的背包,有\(n\)个物品,每个物品的价值和体积都是是\(a_{i}\),求放哪几个物品使得总价值最大,输出它们,并且输出价值的最大值. 题解:其实就是一个01背包输出路 ...
- POJ 3624 Charm Bracelet 简单01背包
题目大意:有n件珠宝,每个珠宝的魅力值为v,重量为w,求在重量不超过m的情况下能达到的最大魅力值. 题目思路:简单的01背包,由于二维数组会超内存所以应该压缩成一维数组. dp[i][j],表示选取i ...
- 2、Charm Bracelet( poj 3624)简单0-1背包
题意:有n件手镯,总重量不能超过M,每个手镯有一个体重W[i]和魅力V[i],问在不超过M的情况下能获得的魅力总和 思路:把M当背包总容量,用0-1背包写 代码: #include <iostr ...
- 天梯赛L3-001. 凑零钱(01背包记录物品)
L3-001. 凑零钱 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 韩梅梅喜欢满宇宙到处逛街.现在她逛到了一家火星店里,发现 ...
- 51 nod 1007 正整数分组 (简单01背包) && csu 1547: Rectangle
http://www.51nod.com/onlineJudge/questionCode.html#problemId=1007¬iceId=15020 求出n个数的和sum,然后用s ...
- vijos 1071 01背包+输出路径
描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:“这副牌少了几张!”众人一数,果然是少了.于是 ...
- 杭电 2639 Bone Collector II【01背包第k优解】
解题思路:对于01背包的状态转移方程式f[v]=max(f[v],f[v-c[i]+w[i]]);其实01背包记录了每一个装法的背包值,但是在01背包中我们通常求的是最优解, 即为取的是f[v],f[ ...
- HDU 3639 Bone Collector II(01背包第K优解)
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
随机推荐
- yii CComponent组件 实例说明1
yii CComponent组件 实例说明 yii中的module,controller都是CComponent的子类,可以说yii的架构基石就是依托在CCompnent基础上的,这里研究下CComp ...
- SSH Secure Shell Client--- the host may be dow
the host may be down,or there may be a problem with the network connection. Sometimes such problems ...
- 2018焦作网络赛Give Candies
一开始忽略了欧拉定理指数部分是modphi(n-1)没有memset,减法后面没加0:
- Android 7.0正式版工厂镜像下载
Android 7.0正式版工厂镜像下载 从3月份上线首个开发者预览版(Developer Preview)之后,经过近6个月时间的打磨,谷歌今天开始向Nexus设备推送Android 7.0 Nou ...
- 名称随id的变化而变化
$("#user_id").change(function () { var uid = $(this).val(); if (uid == '') { $("#user ...
- 『TensotFlow』RNN/LSTM古诗生成
往期RNN相关工程实践文章 『TensotFlow』基础RNN网络分类问题 『TensotFlow』RNN中文文本_上 『TensotFlow』基础RNN网络回归问题 『TensotFlow』RNN中 ...
- ccf画图
问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色. 下图给出了一个画了两个矩形的例子.第一个矩形是 ...
- ASP.NET MVC 习惯
- FNDLOAD移植Lookup Type
通过OAF WEB页面添加的lookup type不能使用fndload直接移植,移植之后无法包含code值,必须使用FORM窗口定义.
- EBS R12 MOAC原理探索 (转)
转载地址 EBS R12 MOAC原理探索