luogu P1509 找啊找啊找GF
题目背景
sqybi现在看中了n个MM,我们不妨把她们编号1到n.请MM吃饭是要花钱的,我们假设请i号MM吃饭要花rmb[i]块大洋.而希望骗MM当自己GF是要费人品的,我们假设请第i号MM吃饭试图让她当自己GF的行为(不妨称作泡该MM)要耗费rp[i]的人品.而对于每一个MM来说,sqybi都有一个对应的搞定她的时间,对于第i个MM来说叫做time[i]. sqybi保证自己有足够的魅力用time[i]的时间搞定第i个MM_.
sqybi希望搞到尽量多的MM当自己的GF,这点是毋庸置疑的.但他不希望为此花费太多的时间(毕竟七夕赛的题目还没出),所以他希望在保证搞到MM数量最多的情况下花费的总时间最少.
题目描述
sqybi现在有m块大洋,他也通过一段时间的努力攒到了r的人品(这次为模拟赛出题也攒rp哦~~).他凭借这些大洋和人品可以泡到一些MM.他想知道,自己泡到最多的MM花费的最少时间是多少.
注意sqybi在一个时刻只能去泡一个MM--如果同时泡两个或以上的MM的话,她们会打起来的...
输入格式
输入的第一行是n,表示sqybi看中的MM数量.
接下来有n行,依次表示编号为1, 2, 3, ..., n的一个MM的信息.每行表示一个MM的信息,有三个整数:rmb, rp和time.
最后一行有两个整数,分别为m和r.
输出格式
你只需要输出一行,其中有一个整数,表示sqybi在保证MM数量的情况下花费的最少总时间是多少.
.
背包问题,但是有两个限制
在原来基础上增加一维进行转移就行了
保证MM最多情况下再去让时间最小
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define int long long
using namespace std;
const int N=105;
int a[N],b[N],val[N],f[N][N],dp[N][N];
signed main(){
int n,m,r;
cin>>n;
for(int i=1;i<=n;i++)
scanf("%lld%lld%lld",&a[i],&b[i],&val[i]);
cin>>m>>r;
for(int i=1;i<=n;i++){
for(int j=m;j>=a[i];j--)
for(int k=r;k>=b[i];k--)
if(dp[j][k]<dp[j-a[i]][k-b[i]]+1){
dp[j][k]=dp[j-a[i]][k-b[i]]+1;
f[j][k]=f[j-a[i]][k-b[i]]+val[i];
}else if(dp[j][k]==dp[j-a[i]][k-b[i]]+1)
f[j][k]=min(f[j][k],f[j-a[i]][k-b[i]]+val[i]);
}
cout<<f[m][r]<<endl;
}
luogu P1509 找啊找啊找GF的更多相关文章
- Head First 设计模式 --8 模板方法模式 别找我,我会找你
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤.设计原则:1.封装变化2.多用组合少用集成3.针对接口变 ...
- springboot打包成jar包后找不到xml,找不到主类的解决方法
springboot打包成jar包后找不到xml,找不到主类的解决方法 请首先保证你的项目能正常运行(即不打包的时候运行无误),我们在打包时经常遇到如下问题: springboot打包成jar包后找不 ...
- BZOJ 1982 / Luogu SP2021: [Spoj 2021]Moving Pebbles (找平衡状态)
这道题在论文里看到过,直接放论文原文吧 在BZOJ上是单组数据,而且数据范围符合,直接int读入排序就行了.代码: #include <cstdio> #include <algor ...
- sql server 子找父和父找子
父找子 with RTD1 as( select Id,pid from Sys_XCode ), RTD2 as( select * from RTD1 where id=1 union all s ...
- 常用的sql语句(找不同位数,找重复)
1.SQL找不同位数 select length(aae135),count(1) from ac01 group by length(aae135) ; ————————————————————— ...
- jquery parents() next() prev() 找父级别标签 找同级别标签
html结构 解决方法: jquery parents() 找父级别标签 next() 同级别向下找 prev() 同级别想上找 我这里找的是一个,下面有n个的方法 $(document).read ...
- 【IDEA】【maven】idea使用maven插件 打包提示找不到符号找不到类,但是却没有错误
[本篇方法如果无效,请使用终极解决方法] [终极解决方法]:https://www.cnblogs.com/sxdcgaq8080/p/10117852.html 如下,在右侧maven工具中进行打包 ...
- UVaLive 6950 && Gym 100299K Digraphs (DFS找环或者是找最长链)
题意:有n个只包含两个字母的字符串, 要求构造一个m*m的字母矩阵, 使得矩阵的每行每列都不包含所给的字符串, m要尽量大, 如果大于20的话构造20*20的矩阵就行了. 析:开始吧,并没有读对题意, ...
- 【Java】idea找不到符号找不到类,但是却没有错误
编译错误,Ctrl+Shift+F9 将提示没有符号类的文件打开,右键单独编译一次,再重新打包即可解决: 特别说明:在Java的集成开发环境中,比如Eclipse.IDEA中,有常常有三种与编译相关的 ...
随机推荐
- Java 8 Streams API 详解
流式编程作为Java 8的亮点之一,是继Java 5之后对集合的再一次升级,可以说Java 8几大特性中,Streams API 是作为Java 函数式的主角来设计的,夸张的说,有了Streams A ...
- ubuntu下minicom和usb串口转接
ubuntu下minicom和USB转串口(转) (2013-03-23 21:07:54) 转载▼ 标签: it 分类: 嵌入式linux minicom是linux下串口通信的软件,它的使用完全依 ...
- 史上最详细的C语言冒泡排序算法
未经同意,请勿转载. void bubbing(){ ] = {,,,,,,,,,};//define init the array //going to the exinternal loop,st ...
- python中字符串常见操作(二)
# 可迭代对象有:字典,列表,元组,字符串,集合 str1 = '192.168.1.1' str2 = 'as df gh jk' str3 = '小李子' str4 = ['aa','bb','c ...
- php的精度计算问题(bcadd和bcsub)
一.前言 我们在进行php开发的时候经常会遇到浮点型的问题,特别是涉及金额的部分,常常需要进行加减运算.当小数点的位数比较多的时候,往往容易犯一些很低级的错误.这里记录一下php的精度计算和封装的小d ...
- try-with-resources优先于try-finally
参考资料:<Effective Java>.<Java核心技术 卷1>.https://www.cnblogs.com/flyingeagle/articles/1015292 ...
- ubuntu 18 怎样对Windows进行远程桌面控制
ubuntu 18 怎样对Windows进行远程桌面控制: 1. 先安装一个redesktop 工具(sudo apt-get install redesktop) 2. 在通过 redesktop ...
- linux 6.5操作系统建立
VM上redhat enterprise linux6 ---> 使用仅主机模式网络连接 开始安装: ——>是否检查镜像:skip ——>选择语言: 中文/英文 ——>存储设备 ...
- tomcat-9.0.20部署后输出窗口乱码解决方案
问题:启动tomcat的时候,窗口乱码,默认都是UTF-8的,但是控制台是GBK的,要保持一致 可以通过控制台查看本机的编码: : 936 代表 GB2312 解决办法:打开tomcat目录下的c ...
- PostGIS 查看表属性(字段、类型、是否为空)
SELECT a.attnum, a.attname AS field, t.typname AS type ...