贪心算法两句话 第一句话: 能往左倒就往左倒。 如同数学中“我们不妨设”一样,相信很好理解。这里只对第二句话稍作解释: 不能往左倒的尽量往右倒 这样为什么是对的呢? 我们可以分类讨论一下: 假设当前已经处理到第$i$个,且它不能往左倒,$h_i$表示树高,$x_i$表示位置。 若$x_{i + 1} ...
分类:
其他好文 时间:
2020-10-22 22:14:46
阅读次数:
14
class Solution { public: int minInsertions(string s) { int l=0, ans=0, n=s.size(); for (int i=0; i<n; i++) { if (s[i]=='(') { l++; } else { //处理到这个位置, ...
分类:
其他好文 时间:
2020-10-19 22:34:09
阅读次数:
19
LINK:Druzyny 这题研究了一下午 终于搞懂了. $n^2$的dp很容易得到. 考虑优化.又有大于的限制又有小于的限制这个非常难处理. 不过可以得到在限制人数上界的情况下能转移到的最远端点 且这个数组是单调的. 而下界是随意的. 这个可以利用单调队列做 也可以暴力线段树. 然后考虑怎么优化 ...
分类:
其他好文 时间:
2020-07-28 22:54:01
阅读次数:
115
LINK:骑士 本来是不打算写的 发现这道题在tarjan的时候有一个坑点 所以写出来记录一下。 可以发现图可能是不连通的 且一个连通块中是一个奇环树。 做法:类似tarjan找割点 然后把环给拉出来 枚举环首是否选择 分类讨论即可。 一个坑点是 找环的时候 因为不是建立圆方树所以栈中存有上个连通块 ...
分类:
其他好文 时间:
2020-07-12 20:35:39
阅读次数:
61
先求一下lca,之后比较一下给定两点的lca与所求点的关系后分类讨论 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=2e5+10; int h[N],ne[N],e[N],idx; int ...
分类:
其他好文 时间:
2020-07-09 23:58:04
阅读次数:
88
写的略微复杂了一些,分了很多种类。 首先肯定只能写一次建树之后进行分类讨论查看位置 #include<iostream> #include<queue> #include<map> #include<vector> #include<cstdio> #include<algorithm> #incl ...
分类:
其他好文 时间:
2020-07-07 09:47:23
阅读次数:
56
贪心,我们设时间序列为 \(\{a_i\}\),长度为 \(n\)(先排序 \(\{a_i\}\))。 分类讨论(其中的「$1$」「$2$」等均指「速度第 $1$ 人」「速度第 $2$ 人」): 如果 \(n=2\),那么答案显然是 \(a_2\)。 如果 \(n=3\),那么答案模拟一下知道是 \ ...
分类:
其他好文 时间:
2020-07-05 00:44:09
阅读次数:
66
LINK:CF R 654 div2 前言:F题是一个线段树分类讨论的题目 比赛的时候没看 赛后感觉没什么意思 所以咕掉了。 记事:第一次笼统的写一场比赛的题目 可能是我这场比赛打的太差了 题目不难 赛后轻而易举的解决 赛时可能是状态的问题吧. A.Magical Sticks 容易发现不论奇偶构成 ...
分类:
其他好文 时间:
2020-07-03 23:09:14
阅读次数:
204
题目传送门 分析: 把凸多边形简化成一个圆,一次电车游览会把圆分割成两部分,之后只能在其中一部分里面进行游览 考虑DP,设$F_{i,j,0/1}\(表示,目前我们只能游览逆时针方向\)(i,j)$中的点,并且下一步是从$i$还是$j$出发 枚举区间中的某个点$k$,分类讨论,简单转移 #inclu ...
分类:
其他好文 时间:
2020-06-27 16:12:43
阅读次数:
78
gate 用时:看题解一上午,写代码120min 省选打完了,继续停课... gg说要做历年省选题,还要看博客...公开处刑... 每个$modify$操作会复制1倍线段树并修改。 然而实际上不需要维护那么多线段树,维护1棵并在树上dp即可。 对于不同状态的节点有不同的维护操作,需要分类讨论。 (L ...
分类:
其他好文 时间:
2020-06-22 19:26:32
阅读次数:
50