洛谷P1417 烹调方案
洛谷P1417 烹调方案
如果是一般的01背包的话
选的先后是没关系的
但是这题选的先后是有关系的,因为他的价值是随着时间而变化的,
而你的01背包是做不到先选2再选1的
那么我们就跟国王游戏一样 用一个优先值对他们就行排序,表示如果初始价值相同
应该怎么选,这其实就是国王游戏,然后我们用贪心原则将他们
排好序,然后再来一遍01背包就行了
1 #include <bits/stdc++.h> 2 #define For(i,j,k) for(int i=j;i<=k;i++) 3 #define int long long 4 using namespace std ; 5 6 const int N = 52 ; 7 struct node{ 8 int a,b,c ; 9 }m[N]; 10 int n,T,ans ; 11 int f[100011] ; 12 13 inline int read() 14 { 15 int x = 0 , f = 1 ; 16 char ch = getchar() ; 17 while(ch<'0'||ch>'9') { if(ch=='-') f = -1 ; ch = getchar() ; } 18 while(ch>='0'&&ch<='9') { x = x * 10+ch-48 ; ch = getchar() ; } 19 return x * f ; 20 } 21 22 inline bool cmp(node x,node y) 23 { 24 return x.c * y.b < y.c * x.b; 25 } 26 27 signed main() 28 { 29 T = read() ; n = read() ; 30 For(i,1,n) m[i].a = read() ; 31 For(i,1,n) m[i].b = read() ; 32 For(i,1,n) m[i].c = read() ; 33 sort(m+1,m+n+1,cmp) ; 34 For(i,1,n) 35 for(int j=T;j>=m[ i ].c;j--) 36 f[ j ] = max( f[j],f[j-m[i].c]+m[i].a-m[i].b*j ) ; 37 int ans = 0 ; 38 For(i,0,T) 39 if( f[ i ] > ans ) ans = f[ i ] ; 40 printf("%d\n",ans) ; 41 return 0 ; 42 }
转载于:https://www.cnblogs.com/third2333/p/7484247.html
洛谷P1417 烹调方案相关推荐
- 洛谷 P1417 烹调方案
题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...
- 洛谷 P1417 烹调方案 (01背包拓展)
一看到这道题就是01背包 但是我注意到价值和当前的时间有关. 没有想太多,直接写,0分 然后发现输入方式不对-- 改了之后只有25分 我知道wa是因为时间会影响价值,但不知道怎么做. 后来看了题解,发 ...
- 洛谷—P1417 烹调方案(背包问题)
解题思路: 如果没有b[i]这个属性的话就是明显的01背包问题. 现在考虑相邻的两个物品x,y.假设现在已经耗费p的时间,那么分别列出先做x,y的代价: a[x]-(p+c[x])*b[x]+a[y] ...
- 洛谷 1417 烹调方案
题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...
- 洛谷1417烹调方案——动态规划:价值受时间影响
题目:https://www.luogu.org/problemnew/show/P1417 与01背包的不同在于价值受时间影响. 对第i个物品的遍历有一个先后顺序,在01背包里顺序不影响,但此时顺序 ...
- 【每日DP】day4 P1417 烹调方案(奇怪的01背包增加了)难度⭐⭐⭐
P1417 烹调方案 每件物品只有一个,很明显是01背包,但是价值的转换方式不同,是要求 ai−t∗bia_i-t*b_iai−t∗bi 尽可能最大.普通的01背包的价值是不变的,而这一道题目中的 ...
- p1417 烹调方案_Java 8的烹调方式–拼图项目
p1417 烹调方案 什么是Project Jigsaw:Project Jigsaw是使Java编译器模块知道的项目. 多年以来,Java API一直是单块的,即从代码的任何部分都可以平等地看到整个 ...
- 烹调方案(洛谷-P1417)
题目描述 一共有n件食材,每件食材有三个属性,ai,bi和ci,如果在t时刻完成第i样食材则得到ai-t*bi的美味指数,用第i件食材做饭要花去ci的时间. 众所周知,gw的厨艺不怎么样,所以他需要你 ...
- P1417 烹调方案 (0/1背包+贪心)
题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...
最新文章
- 海生《我不是你的玩偶》关注颇高
- 从源码分析DEARGUI之add_input_float和4
- AXI_03 AXI_LITE_SLAVE_IP核设计与验证
- Cannot resolve symbol 'R',Failed to resolve: constraint-layout
- 100行Python代码理解深度学习关键概念:从头构建恶性肿瘤检测网络
- 手机短号(hdu2081)
- aws rds监控慢sql_AWS RDS SQL Server –监视数据库实例
- RPC远程过程调用概念及实现
- android--------自定义控件ListView实现下拉刷新和上拉加载
- 回顾2007展望2008
- asm.jar各版本下载网站
- tomcat与java的版本_Tomcat JVM版本与JAVA_HOME不同
- ST 电机库 电机位置环7天冲刺开发
- Java实现 俄罗斯方块(简陋版)
- vue 下载文件(后台返回为二进制流)
- Linux使用ragel进行文本快速解析(下)
- 五百强各大行业简介+面试流程+tips
- 《一个人工智能的诞生》学习记录
- java加密文件夹_怎样用JAVA给文件夹加密,拜求各位大侠!
- 405 Method Not Allowed 解决方案