首页 > codeforces
头像 Joseph1314
发表于 2020-03-02 17:29:29
由于本题的做题选择会影响最后的得分,所以需要知道每一道题的优先级 下面我们来推导一下,如何来选择做题顺序,即每一道题的优先级 对于两道题t1,t2来说,有两种做题顺序,如下图的C12,C21,我们定义P1为t1的每分钟减小的分数,T1为做题需要的时间 两道题的初 展开全文
头像 小小de风铃
发表于 2021-09-17 16:54:31
这题是01背包的板子题,唯一的难点就是获得的价值会随着时间的变化而变化,所以要确定一个做题的顺序,要使得到的分数最多,也就是要使随着时间浪费的分数最小化先看一个简单的:如果只有两道题 起始分数分别为 随时间的变化分别为 所花费的时间分别为 若先取 则有获得的总分数为 也就是说由于时间关系浪 展开全文
头像 shyyhs
发表于 2020-07-29 21:24:06
这题貌似写过= - =...我们考虑取每个的价值,假设说我们取了第i个,其他个没有取.取第i个,其他不选,对于在取i的时间内是一种什么情况呢?假设我们有两种选择,第一个时间是ti.另外一个时间是tj.第一个每分钟减少w[i],另外一个减少w[j].第一个完成的价值是val[i],另外一个完成的价值是 展开全文
头像 little-greenhand
发表于 2023-11-24 15:38:32
首先看完题目想到了《挑战程序设计竞赛》书里的01背包问题: 但这里有点不同,每个元素(这里就是每道题)的得分会随着时间减少,意味着我们不仅要像01背包中一样考虑好每个元素的选取与否,还要考虑选取元素的顺序! 所以就有两个部分,一个部分确定元素的顺序,一个部分确定那些元素可以选取 首先是元素顺 展开全文
头像 coder+9
发表于 2021-11-25 15:37:13
基本是其他大佬的思路 但cmp方法 按自己的想法推测。 感谢大佬提供的01背包思路。 ">#include<algorithm> #include<cmath> using namespace std; struct point{ int mp,pm,rt; }a[52 展开全文