洛谷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 烹调方案相关推荐

  1. 洛谷 P1417 烹调方案

    题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...

  2. 洛谷 P1417 烹调方案 (01背包拓展)

    一看到这道题就是01背包 但是我注意到价值和当前的时间有关. 没有想太多,直接写,0分 然后发现输入方式不对-- 改了之后只有25分 我知道wa是因为时间会影响价值,但不知道怎么做. 后来看了题解,发 ...

  3. 洛谷—P1417 烹调方案(背包问题)

    解题思路: 如果没有b[i]这个属性的话就是明显的01背包问题. 现在考虑相邻的两个物品x,y.假设现在已经耗费p的时间,那么分别列出先做x,y的代价: a[x]-(p+c[x])*b[x]+a[y] ...

  4. 洛谷 1417 烹调方案

    题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...

  5. 洛谷1417烹调方案——动态规划:价值受时间影响

    题目:https://www.luogu.org/problemnew/show/P1417 与01背包的不同在于价值受时间影响. 对第i个物品的遍历有一个先后顺序,在01背包里顺序不影响,但此时顺序 ...

  6. 【每日DP】day4 P1417 烹调方案(奇怪的01背包增加了)难度⭐⭐⭐

    P1417 烹调方案 每件物品只有一个,很明显是01背包,但是价值的转换方式不同,是要求 ai−t∗bia_i-t*b_iai​−t∗bi​ 尽可能最大.普通的01背包的价值是不变的,而这一道题目中的 ...

  7. p1417 烹调方案_Java 8的烹调方式–拼图项目

    p1417 烹调方案 什么是Project Jigsaw:Project Jigsaw是使Java编译器模块知道的项目. 多年以来,Java API一直是单块的,即从代码的任何部分都可以平等地看到整个 ...

  8. 烹调方案(洛谷-P1417)

    题目描述 一共有n件食材,每件食材有三个属性,ai,bi和ci,如果在t时刻完成第i样食材则得到ai-t*bi的美味指数,用第i件食材做饭要花去ci的时间. 众所周知,gw的厨艺不怎么样,所以他需要你 ...

  9. P1417 烹调方案 (0/1背包+贪心)

    题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...

最新文章

  1. 海生《我不是你的玩偶》关注颇高
  2. 从源码分析DEARGUI之add_input_float和4
  3. AXI_03 AXI_LITE_SLAVE_IP核设计与验证
  4. Cannot resolve symbol 'R',Failed to resolve: constraint-layout
  5. 100行Python代码理解深度学习关键概念:从头构建恶性肿瘤检测网络
  6. 手机短号(hdu2081)
  7. aws rds监控慢sql_AWS RDS SQL Server –监视数据库实例
  8. RPC远程过程调用概念及实现
  9. android--------自定义控件ListView实现下拉刷新和上拉加载
  10. 回顾2007展望2008
  11. asm.jar各版本下载网站
  12. tomcat与java的版本_Tomcat JVM版本与JAVA_HOME不同
  13. ST 电机库 电机位置环7天冲刺开发
  14. Java实现 俄罗斯方块(简陋版)
  15. vue 下载文件(后台返回为二进制流)
  16. Linux使用ragel进行文本快速解析(下)
  17. 五百强各大行业简介+面试流程+tips
  18. 《一个人工智能的诞生》学习记录
  19. java加密文件夹_怎样用JAVA给文件夹加密,拜求各位大侠!
  20. 405 Method Not Allowed 解决方案

热门文章

  1. 干掉 FastJson
  2. AI工程师成长记 - 工作方法!
  3. 一文梳理2019年腾讯广告算法大赛冠军方案
  4. 厉害!这位北科大博士生,4年9篇SCI一作
  5. 读论文七步走!CV老司机万字长文:一篇论文需要读4遍
  6. 因买不到 RTX 3090,他花 19 万搭了一个专业级机器学习工作站
  7. 一个非常好用的 Python 魔法库
  8. 浅谈深度学习混合精度训练
  9. 900 多道 LeetCode 题解,这个 GitHub 项目值得 Star!
  10. 推荐一位我的好朋友,8年码农,前鹅厂工程师!