
贪心
linkfqy
A link to FQY.
展开
-
【堆,贪心】BZOJ1029 [JSOI2007]建筑抢修
题面在这里刷水题ing……显然需要贪心。 会有一种想法,就是对结束时刻排序维护一个最大利用时刻lst,在此时刻之前都被利用了1.若当前建筑可以在损毁之前被修复,就修复(增加答案) 2.否则,尝试在之前建筑中寻找所需时间最大的来替换当前(答案不变,但花费的总时间变小了)示例程序:原创 2017-07-02 16:36:24 · 1018 阅读 · 2 评论 -
【贪心+最小割】BZOJ2521 [Shoi2010]最小生成树
题面在这里考虑把图分成含A和含B的两个联通块中间用给定的那条边联系那么所有比他小的边都要进行操作(一次操作等价于给一条边权值+1)那么其实就是最小割了示例程序:原创 2017-12-03 21:25:25 · 295 阅读 · 0 评论 -
【二分+贪心】BZOJ1816 [Cqoi2010]扑克牌
题面在这里没什么好说的,直接二分答案就好了示例程序:原创 2017-12-03 14:12:44 · 374 阅读 · 0 评论 -
【贪心+线段树】Codeforces 557C Arthur and Table
题面在这里其实很简单……暴枚最长桌脚的长度ll,然后长度比ll长的桌脚全部都要砍掉长度比ll短的桌脚选择代价前kk小的砍掉用线段树维护……示例程序 :原创 2017-10-25 12:50:01 · 939 阅读 · 0 评论 -
【扫描线+贪心+线段树】Codeforces 458C Elections
题面在这里考虑暴枚dd表示所有的对手选票不大于dd那么选票大于dd的对手都需要抢选票,如果这样自己的票数还是不够就从选票小于等于dd的对手哪里抢选票这个可以用线段树维护前K小示例程序:原创 2017-10-24 19:02:30 · 922 阅读 · 0 评论 -
【贪心+优先队列】51Nod 1053 最大M子段和 V2
题面在这里其实很简单……首先有一个贪心想法就是把所有的正数都取来但是这样子段数可能会超过m那么有以下两种方法减少子段数:删去一个正的子段取一个负的子段,并将相邻两个正子段合并然后把这两种操作都扔到优先队列里,每次取就好了示例程序:原创 2017-10-30 15:26:14 · 915 阅读 · 0 评论 -
【贪心构造】51Nod 1385 凑数字
题面在这里乱搞就好了每次发现数字不够了就在最后添一个需要的数字示例程序:原创 2017-10-21 08:56:41 · 526 阅读 · 0 评论 -
【贪心】51Nod 1476 括号序列的最小代价
题面在这里这题不太容易想到……其实还是很简单的先把所有的?换成’)’,然后一路扫过去如果不符合配对的要求就在之前的?中找修正代价最小的用优先队列维护一下,然后就好了示例程序:原创 2017-10-20 20:12:46 · 854 阅读 · 0 评论 -
【贪心】51Nod 1615 跳跃的杰克
题面在这里其实很SB的题目……因为每次跳跃后,长度就增加1,所以往左跳一次,右跳一次就相当于移动了一个单位肯定会有一个想法,就是不断往一个方向跳,然后一个单位一个单位地移动但是还不是最佳答案考虑跳过n到了x则x−nx-n是偶数就可以将之前某次跳跃反向否则就继续跳,直到x−nx-n是偶数示例程序:原创 2017-10-20 19:09:09 · 886 阅读 · 0 评论 -
【堆+贪心】BZOJ1150 [CTSC2007]数据备份Backup
题面在这里先把整个数组差分一下,问题就转化成了:从n个元素中选择各不相邻的k个,使得其加和最小用堆来维护。每次中堆中取出权值最小的一个元素xx,计入答案然后将其与相邻的两个元素l,rl,r合并为一个新的元素,权值为l+r−xl+r-x将新元素放入堆中如此k次即可。可以用双向链表维护元素的相邻关系。此方法的正确性在于:当从堆顶取得一个新元素时,就相当于撤销了xx,改为取ll和rr这样取的次数仍然等于取原创 2017-09-20 21:36:08 · 769 阅读 · 0 评论 -
【贪心+并查集】Codeforces 853A Planning
题面在这里这题其实非常水……只需要按照(Ci,i)(C_i,i)的优先级顺序对每个航班取能取的最早的时刻这个贪心很显然吧……示例程序:原创 2017-09-27 17:47:22 · 737 阅读 · 0 评论 -
【贪心】CodeChef PROTEPOI Protecting The Poison
题面在这里其实很显然,把所有蛇都投影到垂直的两个方向对两个方向分别进行扫描线就可以了示例程序:原创 2017-09-02 10:58:14 · 426 阅读 · 0 评论 -
【贪心】BZOJ2006 [NOI2010]超级钢琴
题面在这里其实就是超级钢琴的出处……考虑三元组(i,l,r)(i,l,r)表示以i为右端点,左端点在[l,r][l,r]范围的所有区间那么显然可以用ST算法快速求得这些区间内权值最大的区间,设其左端点为t然后就只用考虑(i,l,t−1)(i,l,t-1)和(i,t+1,r)(i,t+1,r)两个区间就可以了这些东西都可以用堆来维护示例程序:原创 2017-09-02 11:05:50 · 880 阅读 · 0 评论 -
【贪心+堆】Codeforces 752D Contest Balloons
题面在这里显然每次只要给排名比自己大的人送气球那么肯定选需要最小气球的人来猥琐他然后更新一下排名比自己大的人的集合就好了示例程序:原创 2017-09-02 10:44:01 · 573 阅读 · 0 评论 -
【贪心】51Nod 1241 特殊的排序
题面在这里这题没什么好说的,直接贪心就可以了可以发现在最优方案中,没有被移动过的数字一定是连续单调增的那么直接刷最长的连续单调增序列就好了示例程序:原创 2017-09-02 10:27:05 · 377 阅读 · 0 评论 -
【哈夫曼树,贪心】BZOJ4198 [Noi2015]荷马史诗
题面在这里显然是哈夫曼树 如何让最长的串最短? 显然只需要改变比较的优先级就好了 如果权值相同则深度小的优先示例程序:原创 2017-08-04 22:48:23 · 744 阅读 · 0 评论 -
【贪心】BZOJ3668 [Noi2014]起床困难综合症
题面在这里按位贪心就好了示例程序:原创 2017-12-14 20:43:58 · 280 阅读 · 0 评论