luogu1156垃圾陷阱题解--背包DP】的更多相关文章

题目链接 https://www.luogu.org/problemnew/show/P1156 方法1 分析 将已经爬的高度看作背包容积,最大剩余血量看作价值,\(f[i][j]\)表示吃完第\(i\)个垃圾,爬到\(j\)高度的最大剩余血量 \(f[i][j+h[i]]=max(f[i][j+h[i]],f[i-1][j]-(t[i]-t[i-1]))\) \(f[i][j]=max(f[i][j],f[i-1][j]+c[i]-(t[i]-t[i-1]))\) 当然还要判断能否撑到下一个垃…
垃圾陷阱 luogu-1156 题目大意:Holsteins在距离地面D英尺的地方,FJ间隔时间ti会往下扔第i个垃圾.Holsteins对待每一个垃圾都会选择吃掉或者垫高.Holsteins有10个点儿的生命值,每个垃圾会给她提供f的生命值.每小时Holsteins会消耗一定的生命值.问:Holsteins最早可以什么时候爬出:否则输出Holsteins可以存活多长时间. 注释:$2\le D\le 100$,$0 < t \le 1000$,$1\le h \le 25$,$1\le f \…
题目描述 卡门――农夫约翰极其珍视的一条Holsteins奶牛――已经落了到“垃圾井”中.“垃圾井”是农夫们扔垃圾的地方,它的深度为D(2<=D<=100)英尺. 卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了.另外,卡门可以通过吃一些垃圾来维持自己的生命. 每个垃圾都可以用来吃或堆放,并且堆放垃圾不用花费卡门的时间. 假设卡门预先知道了每个垃圾扔下的时间t(0< t<=1000),以及每个垃圾堆放的高度h(1<=h<=25)和吃进该垃圾能维持生命的时间f(…
题目:https://www.luogu.org/problemnew/show/P1156 题意: 每一个垃圾投放时间是t,可以堆的高度是h,如果吃掉可以增加的生命值是f. 给定g个垃圾,初始生命值是10,要求如果要爬出深度为d的井的最早时间是多少.如果爬不出去,最多的生存时间是多少. 思路: 有几个状态,时间,高度,生命值,第几个垃圾. 时间显然是垃圾投入时就马上进行处理,所以这个应该不会是一维状态. 而一个垃圾只有两种状态,堆起来或者是吃掉,看起来就很像背包. 于是刚开始考虑的是用dp[i…
题目传送门 dp+排序+01背包 就完事了??? 貌似就是这样的 代码: //dp 排序 01背包 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct node { int t,h,l; } c[]; int d,g; ],f[]; bool cmp(node a,node b) { return a.t&l…
2287: [POJ Challenge]消失之物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1138  Solved: 654[Submit][Status][Discuss] Description ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. “要使用剩下的 N - 1 物品装满容积为 x 的背包,有几种方法呢?” -- 这是经典的问题了.她把答案记为 Count…
题目描述 正在上大学的小皮球热爱英雄联盟这款游戏,而且打的很菜,被网友们戏称为「小学生」.现在,小皮球终于受不了网友们的嘲讽,决定变强了,他变强的方法就是:买皮肤!小皮球只会玩N个英雄,因此,他也只准备给这N个英雄买皮肤,并且决定,以后只玩有皮肤的英雄.这N个英雄中,第i个英雄有Ki款皮肤,价格是每款CiQ币(同一个英雄的皮肤价格相同).为了让自己看起来高大上一些,小皮球决定给同学们展示一下自己的皮肤,展示的思路是这样的:对于有皮肤的每一个英雄,随便选一个皮肤给同学看.比如,小皮球共有5个英雄,…
题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工,所完成任务又会不同.某一天,加工厂接到n个产品加工的任务,每个任务的工作量不尽一样.你的任务就是:已知每个任务在A机器上加工所需的时间t1, B机器上加工所需的时间t2及由两台机器共同加工所需的时间t3,请你合理安排任务的调度顺序,使完成所有n个任务的总时间最少. 输入 输入共n+1行第1行为 n…
题目描述 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和.2.子集的异或和的异或和.3.子集的算术和的算术和.4.子集的算术和的异或和.目前为止,小呆已经解决了前三个问题,还剩下最后一个问题还没有解决,他决定把这个问题交给你,未来的集训队队员来实现. 输入 第一行,一个整数n.第二行,n个正整数,表示01,a2….,. 输出 一行,包含一个整数,表示所有子集和的异或和. 样例输入 2 1 3 样例输出 6 题解 背包dp+STL-bitset 首先想想暴力怎么做?设…
题目描述 JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同——其中的一些挂饰附有可以挂其他挂件的挂钩.每个挂件要么直接挂在手机上,要么挂在其他挂件的挂钩上.直接挂在手机上的挂件最多有1个. 此外,每个挂件有一个安装时会获得的喜悦值,用一个整数来表示.如果JOI君很讨厌某个挂饰,那么这个挂饰的喜悦值就是一个负数. JOI君想要最大化所有挂饰的喜悦值之和.注意不必要将所有的挂钩都挂上挂饰,而且一个都不挂也是可以的. 输入 第一行一…