E. Selling Souvenirs 不会做】的更多相关文章

http://codeforces.com/contest/808/problem/E 不理解为什么dp = {cost, cnt1, cnt2}可以 而dp = {cost, cnt1, cnt2, cnt3}不可以 上面那个不可以的例子是: 但是这个dp是可行的,只是还有一个更新没实现起来. dp[i] = dp[i - 2] - (花费为1的元素) + (花费为3的元素) 原来可以按1选择的数目分类,分成奇偶,然后贪心.集训队rank1的zk教我的.cf 2200+ Orz 下面评论有详解…
E. Selling Souvenirs 题意: n件物品,有重量和价值,重量只有三种1,2,3.问取不超过m重量的物品的价值总和最大是多少.(n<=1e5,w<=3e5) 思路: n*w很大,常规01背包不能直接做.考虑到物品重量不超过3,可以按重量分类物品.枚举重量3的物品取的件数,可以发现如果重量2的物品取得多则重量1的物品就得取得少,反之亦然.因此所取重量1,2的物品的价值和与重量2物品取的件数应该满足一个上凸函数的关系,即有一个极值点,那个点就是当前枚举下的1,2物品最大价值和.因此…
E. Selling Souvenirs time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output After several latest reforms many tourists are planning to visit Berland, and Berland people understood that it's an op…
传送门 题意 给出n个体积为wi,价值为ci的物品,现在有一个m大的背包 问如何装使得最后背包内的物品价值最大,输出价值 分析 一般的思路是01背包,但n*v不可做 题解的思路 We can iterate on the number of 3-elements we will take (in this editorial k-element is a souvenir with weight k). When fixing the number of 3-elements (let it b…
http://codeforces.com/contest/808/problem/E 题意:给定n个重量为可能1,2,3的纪念品和各自的价值,问在背包总重量不超过m的条件下总价值最大为多少. 其中1 ≤ n ≤ 100000, 1 ≤ m ≤ 300000 首先可以想到的是重量相同的情况下,优先选择价值大的纪念品.所以我们可以把价值为1,2,3的纪念品分开,分别排序. 我们可以枚举重量为3的纪念品的个数为x,然后剩下的重量m-sum{3-elements}由1和2混合得出,这里可以动态规划预处…
题目链接:http://codeforces.com/contest/808/problem/E 题意:最多有100000个物品最大能放下300000的背包,每个物品都有权值和重量,为能够带的最大权值. 物品重量只有3中.重量为1,2,3. 题解:可以用3分写,这里先不介绍.主要讲一下二分+dp的方法.首先将重量为1,2,3的物品分别存下来, 然后从大到小排序一下.求一下前缀和,先将1,2二分,因为1,2的取法就两种要么取2,要么取两个1代替 2这里就需要二分,比较一下b[mid] and a[…
题目链接: http://codeforces.com/contest/808/problem/E 题目大意: Petya 有 n 个纪念品,他能带的最大的重量为 m,各个纪念品的重量为 wi,花费为 ci,问 Petya 能带的纪念品的最大价值几何? 心得: 刚开始以为是01背包,开开心心地写了个dp上去超时ORZ.后来想要用记忆化,发现开不出这么大的数组,所以想了很久也想不出个所以然. 后来经一位大神一篇博文的点拨(链接:http://www.cnblogs.com/wmrv587/p/68…
Educational Codeforces Round 21  A. Lucky Year 个位数直接输出\(1\) 否则,假设\(n\)十进制最高位的值为\(s\),答案就是\(s-(n\mod s)\) view code #pragma GCC optimize("O3") #pragma GCC optimize("Ofast,no-stack-protector") #include<bits/stdc++.h> using namespac…
各种填坑资料(qwq) 主席树(by YL)戳 树套树(by ZSY)戳 不要问我这些题咋来的(查大佬的水表呗) 题目列表: [HDU5977]Garden of Eden [BZOJ2752][HAOI2012]高速公路 [SPOJ TLE]Time Limit Exceeded [NOI2008]假面舞会 [BZOJ3460] Jc的宿舍 [Luogu1456]Monkey King [HNOI2007]紧急疏散evacuate [BZOJ2442]修建草坪 [SCOI2012]滑雪与时间胶…
收录了最近本人完成的一部分codeforces习题,不定期更新 codeforces 1132E Knapsack 注意到如果只使用某一种物品,那么这八种物品可以达到的最小相同重量为\(840\) 故答案一定可以被写成\(840k+x(k,x\in N_+)\),我们将\(x\)称为"余下的部分" 故而设\(dp[i][j]\)为当前考虑了前\(i\)个物品,它们所占的余下的部分的重量为\(j\)时,最多可以组成多少个\(840\) 对于每个\(i\)预处理出枚举上界暴力转移即可 #i…