牛客网2018暑期训练 第三场 a题
#include <bits/stdc++.h>
using namespace std;
vector<int> path;
const int maxn = ;
short dp[maxn][maxn][maxn][maxn][maxn];
bool tp[maxn][maxn][maxn][maxn][maxn];
int P,C,A,M;
int p[maxn],c[maxn],a[maxn],m[maxn],g[maxn];
int main()
{
int n;
scanf("%d",&n);
for(int i=;i<= n; ++i)
scanf("%d%d%d%d%d",p+i,c+i,a+i,m+i,g+i);
scanf("%d%d%d%d",&P,&C,&A,&M);
for(int i = ; i<=n; ++i)
{
for(int ip = P; ip>=p[i]; --ip)
for(int ic = C; ic >= c[i]; --ic)
for(int ia = A; ia >= a[i]; --ia)
for(int im = M; im >= m[i]; --im)
{
dp[i][ip][ic][ia][im] = dp[i-][ip][ic][ia][im];
if(dp[i][ip][ic][ia][im] < dp[i-][ip-p[i]][ic-c[i]][ia-a[i]][im-m[i]]+g[i])
{
dp[i][ip][ic][ia][im] = dp[i-][ip-p[i]][ic-c[i]][ia-a[i]][im-m[i]]+g[i];
tp[i][ip][ic][ia][im] = true;
}
}
}
int ans = ;
//cout << dp[1][1][0][2][1] << endl;
//cout << dp[n][P][C][A][M] << endl;
for(int i = n; i>=; --i)
{
if(tp[i][P][C][A][M] == true)
{
P-=p[i];
C-=c[i];
A-=a[i];
M-=m[i];
ans ++;
path.push_back(i-);
}
}
cout << ans << endl;
for(int i = path.size()-; i>=; --i)
cout << path[i] << " ";
cout << path[] << endl;
}
01 背包+路径输出
基本没什么好解释的
牛客网2018暑期训练 第三场 a题的更多相关文章
- 牛客网多校训练第三场 C - Shuffle Cards(Splay / rope)
链接: https://www.nowcoder.com/acm/contest/141/C 题意: 给出一个n个元素的序列(1,2,...,n)和m个操作(1≤n,m≤1e5),每个操作给出两个数p ...
- 牛客网多校训练第三场 A - PACM Team(01背包变形 + 记录方案)
链接: https://www.nowcoder.com/acm/contest/141/A 题意: 有n(1≤n≤36)个物品,每个物品有四种代价pi,ai,ci,mi,价值为gi(0≤pi,ai, ...
- 牛客网多校训练第四场C sequence
(牛客场场有笛卡尔树,场场都不会用笛卡尔树...自闭,补题心得) 题目链接:https://ac.nowcoder.com/acm/contest/884/C 题意:给出两个序列a,b,求max{mi ...
- 牛客网多校训练第八场A All one Matrix
题目链接:https://ac.nowcoder.com/acm/contest/888/A 题意:求出有多少个不被包含的全1子矩阵 解题思路:首先对列做处理,维护每个位置向上1的个数,然后我们从最后 ...
- 牛客网 2018年东北农业大学春季校赛 L题 wyh的天鹅
链接:https://www.nowcoder.com/acm/contest/93/L来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288 ...
- 牛客网 2018年东北农业大学春季校赛 I题 wyh的物品
链接:https://www.nowcoder.com/acm/contest/93/I 来源:牛客网 时间限制:C/C++ 5秒,其他语言10秒空间限制:C/C++ 262144K,其他语言5242 ...
- 牛客网多校训练第二场D Kth Minimum Clique
链接:https://ac.nowcoder.com/acm/contest/882/D来源:牛客网 Given a vertex-weighted graph with N vertices, fi ...
- 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
- 牛客网多校赛第七场J--Sudoku Subrectangle
链接:https://www.nowcoder.com/acm/contest/145/J 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...
随机推荐
- 解决loadrunner录制页面的乱码问题
以下亲自验证了的:好用. 三步解决loadrunner录制页面的乱码问题 第一步:去lr 的vugen的Tools -> Recoding Options -> Advanced ...
- PAT 1002 写出这个数 (20)(代码)
1002 写出这个数 (20)(20 分) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10^100 ...
- python下的MySQL数据库编程
https://www.tutorialspoint.com/python/python_database_access.htm if you need to access an Oracle dat ...
- 解决Address is in use:Windows和Linux通过杀死进程
在开发无卡支付系统的过程中,因为用了端口来监听服务,在调试程序的时候,忘了关,再次运行的时候会出现Address is in use的问题,即端口已经被绑定,无法再次使用,最直观的方法就是杀死之前的进 ...
- How to ignore files and directories in subversion?
Step 1 Copy the files and directories to other place. Step 2 Delete the files and directories. Step ...
- Vue组件中引入jQuery
一.安装jQuery依赖 在使用jQuery之前,我们首先要通过以下命令来安装jQuery依赖: npm install jquery --save # 如果你更换了淘宝镜像,可以使用cnpm来安装, ...
- mysql 压缩版安装
环境介绍:win2008_x64+mysql5.7.10 64位 1.将压缩包解压到d:\\mysql目录,并将mysql目录中的my-default.ini 重命名为my.ini 2.将my.in ...
- EditText输入小数
edtValue.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
- spring jpetstore研究入门(zz)
spring jpetstore研究入门 分类: java2008-12-21 23:25 561人阅读 评论(2) 收藏 举报 springstrutsibatissearchweb框架servle ...
- Python 使用for...in...和 while 循环 实现8种格式的 九九乘法表
#九九乘法表 for...in .. #左下角 for i in range(1,10): for j in range(1,i+1): print(' %d×%d=%2d'%(j,i,i*j), e ...