![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
stargazer.
夜を穿つの
展开
-
【LOJ #3068】「2019 集训队互测 Day 1」学习轨迹(贪心)
传送门 显然的一个想法是按照权值排序 从前往后扫 如果当前类型的根还没有被扫到的话就挂到根后面 否则接到上一个已经计算过的权值后面 扫到每个根的时候先把所有挂着的算了 发现对于多个根我们可以合并扫之前的点的过程 可以证明的是我们一定只合并一段前缀和后缀 即扫的顺序是l...1...l...r...n...rl...1...l...r...n...rl...1...l...r...n...r这样的 ...原创 2020-04-16 17:17:09 · 615 阅读 · 0 评论 -
【Codeforces 639 E】Bear and Paradox(贪心)
传送门 首先可以得知最优方案是按照pt\frac p ttp从大到小排序做 证明可以考虑相邻两个的排列方法的贡献稍加推导得知 于是排序后对于pt\frac p ttp相同的一块就有最大时间和最小时间 然后考虑可以二分答案ccc 按ppp从小到大扫一遍维护一下前面可能最大的分数即可 #include<bits/stdc++.h> using namespace std; #defin...原创 2020-03-17 19:52:45 · 167 阅读 · 0 评论 -
【洛谷 P6142】 【USACO20FEB】 Delegation P(二分答案 / 贪心)
传送门 和noip2018noip2018noip2018的那道有点像 先二分答案 反正是要最大化向上传的链 从最小的开始枚举找第一个加起来≥k\geq k≥k的匹配 还要考虑把不合法的往上传 用setsetset做 复杂度O(nlog2n)O(nlog^2n)O(nlog2n) 本人的分类讨论稍微有些复杂 #include<bits/stdc++.h> using namespace...原创 2020-03-11 18:37:53 · 349 阅读 · 0 评论 -
【LOJ #3158】「NOI2019」序列(模拟费用流 / 堆)
传送门 考虑一个费用流做法 S→ai(1,ai),ai→bi(1,0),bi→T(1,bi),ai→X(1,0),X→Y(k−l,0),Y→bi(1,0)S\rightarrow a_i(1,a_i),a_i\rightarrow b_i(1,0),b_i\rightarrow T(1,b_i),a_i\rightarrow X(1,0),X\rightarrow Y(k-l,0),Y\right...原创 2020-03-10 20:02:59 · 350 阅读 · 0 评论 -
【BZOJ #2034】 [2009国家集训队]最大收益(贪心 / 匈牙利算法)
传送门 显然贪心把权值最大的先要了一定最优 考虑把需要的时间离散化出来 就相当于做一个最大匹配 每个点连向的时间是一个区间 如果有冲突把rrr更大拿去匹配显然更可行 具体实现可以看代码 #include<bits/stdc++.h> using namespace std; #define cs const #define re register #define pb push_bac...原创 2020-02-13 22:45:52 · 226 阅读 · 0 评论 -
【LOJ#2324】【清华集训 2017】—小 Y 和二叉树(贪心)
传送门 情况有点多… 显然的贪心就是我们要让最小的一个叶子节点作为最左边的点 然后考虑从这个点向上走 对于2个儿子 显然是把子树最小值小的那一个设成右儿子 另一个当成父亲 然后讨论的情况有点多… 反正自己咕咕了 具体选哪个根不重要 #include<bits/stdc++.h> using namespace std; const int RLEN=1<<17|1; #de...原创 2019-04-05 20:13:54 · 152 阅读 · 0 评论 -
【洛谷P5290】【十二省联考2019】春节十二响(贪心+启发式合并)
传送门 首先可以显然的发现段数一定是最长链的长度 手玩一下样例 似乎可以贪心,每次把最大的一个个丢? 事实证明这是对的 这样就有60pts60pts60pts了 再把链写了就可以拿到75pts75pts75pts的好成绩 考虑100分,如果合并2条子树的链 由排序不等式可以证明第2边第iii大的数放一起是最有的 那就可以利用优先队列启发式合并做 看起来复杂度是O(nlog2n)O(nlog^2n)...原创 2019-04-09 16:51:46 · 231 阅读 · 0 评论 -
【BZOJ3790】—神奇项链(Manacher+贪心)
传送门 先ManacherManacherManacher求出极大回文串 考虑相当于就是有很多条线段,要选尽可能少的覆盖整个区间 贪心即可 #include<bits/stdc++.h> using namespace std; const int RLEN=1<<20|1; inline char gc(){ static char ibuf[RLEN],*ib,*o...原创 2019-07-14 22:03:57 · 204 阅读 · 0 评论