摘要: A:其实并不是特别难的一个题,想的太复杂了。 首先,我们把关系看成能够传递的,那么我们并查集统计连通块之后。 可以发现,对于一个连通块,最优方案肯定只有1个人会没朋友。 因为一直把和当前删的点有关系的人的人删进去,最后肯定就能删完全部点,并且保证只有第一个进去的人没朋友。 因为要保证字典序最小,我们 阅读全文
posted @ 2020-08-17 13:45 levill 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 第一眼就觉得是费用流,但是建图确实很麻烦,逐渐递增这个费用到时想到了 solution: 首先,对于每一个事件,我们从s向这个事件连一条容量为1的边,然后对于这个事件,向两个点连一条容量为1的边。 这样满足了事件的关系。可以发现,我们的容量还是由s->事件的1来控制,只是有两个点的选择,即哪个点胜利 阅读全文
posted @ 2020-08-16 21:30 levill 阅读(123) 评论(0) 推荐(0) 编辑
摘要: A:因为数太大,所以按字符串存即可 #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef long double ld; typedef pair<LL,int> pii; const int N = 1 阅读全文
posted @ 2020-08-15 15:28 levill 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Fluctuation Limit 寻找可行域的问题。 我们需要做的就是不断去缩小这个区间,来使得最后可以满足正向区间和反向区间。 首先,对于i位置为[L,r]。那么i+1肯定要满足[L-k,r+k]。之外就无解。 对于i+1为[L,r],i肯定要满足[L-k,r+k],所以我们正向查找一次,反向查 阅读全文
posted @ 2020-08-14 12:06 levill 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 首先,这题要对题意先进行一个转化。 可以发现,这是一棵树,并且,我们要删点,肯定要从叶子节点开始删,才能保证在大于2个点时。 每个点最少存在一个朋友。 那么,我们主要要去分析,当我们加入关系边时,有哪些点无法作为最后点了(如果没有关系边,那么从一个点两边删,肯定每条边都会满足) 从遥远的国度借鉴经验 阅读全文
posted @ 2020-08-14 09:58 levill 阅读(141) 评论(0) 推荐(0) 编辑
摘要: A:读错题导致难度飙升。 这里题意是任意两个下标满足条件都能换,那就是个水题了 #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef long double ld; typedef pair<LL,int 阅读全文
posted @ 2020-08-13 16:08 levill 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题意:懂得都懂。 首先考虑到这题如果没有换根的操作,那么很显然就是一个裸的树剖部分,那么随便搞搞就能过了。 对于加上了换根的操作。 我们来对询问进行一个分类讨论。 我们统一以1为根来建树: 如果当前的询问的点等于根,那么显然就是全局最小值,就是node[1].mi。 如果当前的询问的点在不在1->r 阅读全文
posted @ 2020-08-13 13:42 levill 阅读(85) 评论(0) 推荐(0) 编辑
摘要: Increasing and Decreasing 显然是一个构造的题,对于下降序列,我们用最后y的数来组成拼在后面。 对于x的上升序列。 我们要用剩下的数来拼凑成x-1个块(因为最后下降的块肯定比前面大)。 每个块里的元素都是下降序列即可。 为了最小化字典序,我们尽量让起前面的块尽可能小,注意的是 阅读全文
posted @ 2020-08-12 10:15 levill 阅读(193) 评论(0) 推荐(0) 编辑
摘要: Path: 题意:用最少的代价,删除一些边,使得最短路变长。 思路: https://blog.csdn.net/jerry99s/article/details/96907292(大佬讲得非常好) 我们将所有最短路上的边,建立一张新的图。 以1为源点,n为汇点。求最小割。 这时的最小割即为最小花费 阅读全文
posted @ 2020-08-09 15:24 levill 阅读(101) 评论(0) 推荐(0) 编辑
摘要: A: #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef long double ld; typedef pair<int,int> pii; const int N = 205; const int 阅读全文
posted @ 2020-08-09 13:48 levill 阅读(173) 评论(0) 推荐(0) 编辑