贪心
meopass
即使摸爬滚打,满身泥泞,我也要前进
展开
-
codeforces 864D 模拟 + 贪心
简略题意:给出n个数,所有数的值都在[1,n][1, n],可以选择某个数变成任意数。问至少需要几次才能将原序列变成一个排列,保证改变次数最小的情况下需要保证字典序最小。我们只需要记录哪些数没有出现过,这些数就必然会替换原来重复出现的数。 我们记录下所有重复出现的数出现的位置,从小到大去替换。我们需要讨论的就是当前位置的数应不应当被替换。 1. 若当前重复出现的数为x,我们打算用y去替换x。原创 2017-09-26 11:16:48 · 274 阅读 · 0 评论 -
codeforces gym 101142G Gangsters in Central City
简略题意:一棵树,每个节点有一个局面,根是水源,边是水管。初始每个居民都有水喝。 操作有两种: ‘+ v’, v处的居民楼被强盗占领。 ‘- v’, v处的强盗走了。 对于每个询问,你需要切断一些水管,使得所有强盗没水喝,没水喝的居民尽量少。因为必须有边切才行,所以需要切除的边数最多就是与原来的根相连的边的数目。 原来的树拆成了若干个子树,每个子树的根也有一个边可以切除。单独考虑每个子树的原创 2017-10-07 18:06:13 · 376 阅读 · 0 评论 -
HDU 6203 贪心 + LCA + dfs序 + BIT
简要题意:给出一个n+1n+1个点的树,以及若干个点对,需要断开一些点,使得这些点对路径不连通。输出应该断开的最少点数。我们断开一个点,能够影响到的是: 1.1.子树中过这个点的路径. 2.2.一个点在子树中,另一个点在祖先中的路径。为了使得以上两个影响尽可能的大,我们每次需要使得断开的点的子树尽可能大。 因此当我们打算断开一对点对(u,v)(u, v)的时候,为了使得断开的点的影响尽可能大,原创 2017-09-21 17:51:14 · 340 阅读 · 0 评论 -
HDU6000 Wash 二分+贪心
简略题意:L件衣服,n个洗衣机,m个甩干机,问最短多少时间可以洗完所有衣服并甩干。首先二分时间,得到每个洗衣机能最多在这段时间洗多少衣服,从而得到洗完每个衣服的时间是多少。 同理二分时间,得到每个甩干机能最多在这段时间甩干多少衣服,从而得到甩干每个衣服的时间是多少。那么我们只要贪心的把最早洗完的衣服最晚甩干,从而使得全局时间花费最小即可。#define others#ifdef poj#inc原创 2017-11-25 23:27:10 · 452 阅读 · 0 评论 -
codeforces 332C Students' Revenge 贪心
简略题意:有nn项工作,每项工作有两个属性aa和bb,代表如果主席接受了这份工作,就要长aa根白头发,不接受董事会就要有bb的不满意度。我们需要从nn项工作里挑出pp项工作使得主席的白头发尽可能多,多种方案选董事会最不满意的那个方案。而主席从pp份工作里挑kk个工作,首先使得董事会满意,多种方案选取自己白头发最少的方案。先明确主动权在我们手里,对于主席而言理想化的状况就是选了bb最小的p−kp-k份原创 2018-03-08 15:55:59 · 308 阅读 · 0 评论 -
LA4850 Installations 贪心 + 枚举 存疑
贪心:首先按截止时间从小到大排序,截止时间相同按照安装时间从小到大排序,这样可以取得全局最优解。 但是我们最小化的目标是最大值与次大值之和。在这里说明做法,首先找到最大值和次大值中较为靠后的位置pos2pos2pos2。那么我们现在想要优化答案,可以把pos2pos2pos2之前的一个任务pos1pos1pos1放到pos2pos2pos2后面。这样pos1pos1pos1到pos2pos2...原创 2018-02-22 16:53:25 · 238 阅读 · 0 评论 -
LA 4094 WonderTeam 构造 + 贪心
足球规则了解一下:90分钟内比分怎么样都无所谓,时间到后打加时30分钟。构造需要满足如下条件:胜利次数最多,进球最多,丢球最少,最后保证排名尽可能靠后。 这就意味着,只要我们获胜一局,考虑极端碾压的情况,那么我们就可以满足进球最多。只要其他队伍失败或者和别人平局,我们就可以保证其他队伍的比分差到令人汗颜。因此实际需要满足的条件只有胜利次数和排名。我们如果想保证排名靠后,就得保证获胜次数很...原创 2018-02-23 13:32:25 · 242 阅读 · 0 评论