TYVJ P1013 找啊找啊找GF Label:动态规划
做题记录:2016-08-15 22:19:04
背景
描述
"诶,别再见啊..."
七夕...七夕...七夕这个日子,对于sqybi这种单身的菜鸟来说是多么的痛苦...虽然他听着这首叫做"找啊找啊找GF"的歌,他还是很痛苦.为了避免这种痛苦,sqybi决定要给自己找点事情干.他去找到了七夕模拟赛的负责人zmc MM,让她给自己一个出题的任务.经过几天的死缠烂打,zmc MM终于同意了.
但是,拿到这个任务的sqybi发现,原来出题比单身更让人感到无聊-_-....所以,他决定了,要在出题的同时去办另一件能够使自己不无聊的事情--给自己找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的话,她们会打起来的...
输入格式
输出格式
测试样例1
输入
4
1 2 5
2 1 6
2 2 2
2 2 3
5 5
输出
13
备注
对于20%数据,1<=n<=10;
对于100%数据,1<=rmb<=100,1<=rp<=100,1<=time<=1000;
对于100%数据,1<=m<=100,1<=r<=100,1<=n<=100.
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; int N,m,r,f[][],g[][],ans,mn;//f数量 g时间
struct cc{
int rmb,rp,time;
}a[]; int main(){
// freopen("01.txt","r",stdin);
memset(g,,sizeof(g));
scanf("%d",&N);
for(int i=;i<=N;i++) scanf("%d%d%d",&a[i].rmb,&a[i].rp,&a[i].time);
scanf("%d%d",&m,&r);//m--rmb r--rp
int inf=g[][];
g[][]=;
for(int i=;i<=N;i++){
for(int j=m;j>=a[i].rmb;j--){
for(int k=r;k>=a[i].rp;k--){
if(g[j-a[i].rmb][k-a[i].rp]<inf){ if(f[j][k]<f[j-a[i].rmb][k-a[i].rp] +){
f[j][k]=f[ j-a[i].rmb ][ k-a[i].rp ] +;
g[j][k]=g[ j-a[i].rmb ][ k-a[i].rp ] + a[i].time;
} if(f[j][k]==f[j-a[i].rmb][k-a[i].rp] +){
g[j][k]=min( g[j][k] , g[ j-a[i].rmb ][ k-a[i].rp ] + a[i].time);
} if(f[j][k]>ans){
ans=f[j][k];
mn=g[j][k];
} if(f[j][k]==ans){
mn=min(mn,g[j][k]);
// printf("i=%d ans=%d mn=%d\n",i,ans,mn);
} }
}
}
}
printf("%d\n",mn);
return ;
}
【tyvj1013】找啊找啊找GF
用F(i,j)F(i,j)表示消费 i 金钱 j 点 rp 能泡到的最多妹子
做一个01背包
用G(i,j)G(i,j)表示最小的代价
注意逆序,调了1h,其中一个原因就是顺序,导致上一状态被破坏
TYVJ P1013 找啊找啊找GF Label:动态规划的更多相关文章
- Head First 设计模式 --8 模板方法模式 别找我,我会找你
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤.设计原则:1.封装变化2.多用组合少用集成3.针对接口变 ...
- springboot打包成jar包后找不到xml,找不到主类的解决方法
springboot打包成jar包后找不到xml,找不到主类的解决方法 请首先保证你的项目能正常运行(即不打包的时候运行无误),我们在打包时经常遇到如下问题: springboot打包成jar包后找不 ...
- 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中,有常常有三种与编译相关的 ...
- idea找不到tomcat,找不到Tomcat server
打开settings 添加即可 如果再没有,可能需要先安装timcat插件
随机推荐
- 07 day 2
又是惨烈的一天 第一题 多重背包.二进制拆分即可. #include <stdio.h> #define max(a,b) ((a)>(b)?(a):(b)) int n,m,i,j ...
- 用sed删除空行
用sed删除空行 我的代码如下:class Song def initialize(name) @name = name end def tell puts @nam ...
- php中global与$GLOBALS的用法及区别-转载
php中global 与 $GLOBALS[""] 差别 原本觉得global和$GLOBALS除了写法不一样觉得,其他都一样,可是在实际利用中发现2者的差别还是很大的! 先看下面 ...
- shell中常用的命令方法
<1>Linux Shell 脚本中字符串的连接方法 [root@localhost company]# var1=/etc/[root@localhost company]# var3= ...
- 63.如何对单链表进行快排?和数组快排的分析与对比[quicksort of array and linked list]
[本文链接] http://www.cnblogs.com/hellogiser/p/quick-sort-of-array-and-linked-list.html [题目] 单链表的特点是:单向. ...
- iOS 和 Android 中的后台运行问题
后台机制的不同,算是iOS 和 Android的一大区别了,最近发布的iOS7又对后台处理做了一定的更改,找时间总结一下编码上的区别,先做个记录. 先看看iOS的把,首先需要仔细阅读一下Apple的官 ...
- Java for LeetCode 142 Linked List Cycle II
Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...
- jsp之间传参中文乱码问题
jsp页面之间传参,传中文会出现乱码问题. 如下: $('.yzjjfa_row').eq(0).append('<a class="yzjjfa_contItem jjfa_acti ...
- 使用webstorm调试node程序
前言 相信大家接触过不少node代码了,如果你应用的比较初级或者针对你的项目不需要接触过深的node代码,也许你仅仅需要简单的console.log('your variable')就完全满足你的需要 ...
- 局域网通过ip查mac地址、通过mac地址查ip方法
sh-4.1# which arp #linux主机A /sbin/arp sh-4.1# arp -a 192.168.1.10 #主机B的IP bogon (:8t:8p::: [ether] o ...