摘要: "[APIO/CTSC 2007]数据备份" 真正的贪心好题 一段区间被取后,旁边两端区间不能再取,但我们可以舍弃掉这一段,去取旁边的两段 这样的贪心策略怎么维护呢? 我们用堆维护贪心,每次选择这段区间后,将两边的区间合并成一段,权值是$w_{i 1}+w_{i+1} w_i$ 也就是舍弃中间这一段 阅读全文
posted @ 2019-11-08 17:45 chasedeath 阅读(171) 评论(0) 推荐(0) 编辑
摘要: "[Heoi2013]Alo" 每一个点作为贡献点的区间是包含一个比它大的值,所以我们对于每个点处理四个值 $L,R,L2,R2$表示左边第一个比它大的,右边第一个~,左边第二个~,右边第二个~ 这些东西当然可以直接用set处理,但是可以前缀预处理+两边二分替换,甚至是第一遍二分也可以用单调栈代替, 阅读全文
posted @ 2019-11-08 16:18 chasedeath 阅读(133) 评论(0) 推荐(0) 编辑
摘要: "[Usaco2012 Feb] Cow Coupons" 一个比较正确的贪心写法~~(跑得贼慢。。。)~~ 首先我们二分答案,设当前答案为mid 将序列按照用券之后能省掉的多少排序,那么我们对于两种情况 1. $mid \leq k$ 全部取用券后的,取最小的$mid$个 2. 排序后我们枚举分界 阅读全文
posted @ 2019-11-08 16:08 chasedeath 阅读(163) 评论(0) 推荐(0) 编辑