
贪心
ymzqwq
这个作者很懒,什么都没留下…
展开
-
[NOI2015][luogu2168]荷马史诗
传送门 多叉哈夫曼树,唯一需要注意的是如果(n−1)mod(k−1)>0(n−1)mod(k−1)>0(n-1) mod (k-1)>0就要补上k−1−(n−1)mod(k−1)k−1−(n−1)mod(k−1)k-1-(n-1)mod(k-1)个空节点 #include<cstdio> #include<iostream> #include<queu...原创 2018-04-10 19:55:17 · 381 阅读 · 0 评论 -
[bzoj1029][JSOI2007]建筑抢修
传送门 考虑可以反悔的贪心。 按照ttt排序后,我们依次修复建筑物。 如果出现一个时间不足无法被修复的建筑物iii,那么比较它与目前选中最大的 ajaja_j,如果ai<ajai<aja_ijjj了,转而修复iii,这样可以为以后的修复争取时间。 #include<iostream> #include<cstdio> #include<vect...原创 2018-04-10 20:04:18 · 155 阅读 · 0 评论 -
[Codeforces 980E] The Number Games
(emm…懒惰的博主终于开始写题解了,然而怎么还是水题。。) 传送门 题意:给出一颗NNN个节点的树,第iii个节点的权值为2i2i2^i, 现在你必须删除KKK个节点(K&lt;NK&lt;NK < N),并且保证剩下的点都联通的情况下,使得剩下的点权值最大。 删除KKK个节点,就是选择N−KN−KN-K个节点嘛… 看到有2i2i2^i,应该很容易想到贪心的思路吧… 优先选取iii大的...原创 2018-07-22 18:25:26 · 320 阅读 · 0 评论 -
TopCoder SRM 573 Div1 250 TeamContest
裸裸的贪心啊。。(我会告诉你们我智障地FST了一发吗 对于每组超过自己组的,我们要让它: 最大的尽量大 最小的尽量小(于是大的就可以留给别的组) 中间的尽量小(理由同上) 然后就是sort一下,暴力按这个流程分组,看下最后有几组比自己组大的。 #include <bits/stdc++.h> using namespace std; int n; class TeamCo...原创 2018-08-28 16:05:33 · 278 阅读 · 0 评论 -
TopCoder SRM 589 Div1 250 GooseTattarrattatDiv1
由于每次相同的字母都是一起变的,所以相同的字母可以看作一个整体。 先在原串上跑一遍回文,用并查集维护哪些字母要变成一样的。 然后修改的时候当然就是把出现次数少的修改成出现次数多的…… 一开始智障以为是像合并果子一样的…结果发现只要全都合并到最大的那个上就好了 于是代码就被我魔改成了堆排??? //tc is healthy, just do it #include <bits/st...原创 2018-09-11 22:15:59 · 414 阅读 · 0 评论 -
TopCoder SRM 691 Div1 500 Moneymanager
学习了DP的新姿势QAQ 首先应该不难发现如果无视XXX的话整个序列应该是按a[i]/b[i]a[i]/b[i]a[i]/b[i]从大到小排列的,这个就是个很基础的贪心吧,证明用的也是贪心中最常见的方法:交换相邻元素。 然后我们考虑一下这个XXX对答案的贡献其实就是X⋅∑i=n/2+1i=nb[i]X \cdot \sum_{i=n/2+1}^{i=n}b[i]X⋅∑i=n/2+1i=nb[i]...原创 2018-10-28 18:33:16 · 225 阅读 · 0 评论