不要使用尤达表达式,尤达表达式是指,拿一个常量和一个变量比较,而不是拿一个变量去和常量比较。他就像是在表达“蓝色是不是天空的颜色”或者“高大是不是这个男人的属性”,而不是“天空是不是蓝色的”或者“这个男人是不是高个子的” Yoda (译者注:名字起源于星球大战中尤达大师的讲话方式,总是用倒装的语序) ...
分类:
其他好文 时间:
2020-08-19 19:35:34
阅读次数:
53
未完待续 Tarjan Grass Cownoisseur G 嗅探器 拓扑排序 菜肴制作 车站分级 二分 路标设置 跳石头 Dynamic Programming 摆花 膜拜 吃奶酪 并查集 星球大战 奇奇怪怪的图论 通往奥格瑞玛的道路 ...
分类:
其他好文 时间:
2020-07-29 21:17:51
阅读次数:
69
题目链接 直接算每次破坏会拆开多少个连通块貌似不可做。考虑反着加边用并查集合并。 那么我们首先用$vector$存下每个点出边到的点的序列。注意:$m\in[1,2\times 10^5]$而$n\in [1,2\times m]$所以$n\in [1,4\times 10^5]$。 读入破坏的顺序 ...
分类:
Web程序 时间:
2020-05-18 22:42:30
阅读次数:
79
有一类并查集题目中,起始是一张连了所有边的图。 给出一些操作,让一些边"断裂",再抛出一些问题。 这个时候,就可以考虑逆向合并边。 例题星球大战:https://www.luogu.com.cn/problem/P1197 思路: 因为每次轰炸星球,相当于把一个点完全抹除,相应的边也没了。 那么我们 ...
分类:
其他好文 时间:
2020-03-12 14:24:15
阅读次数:
54
展开 题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量, ...
分类:
Web程序 时间:
2020-02-28 01:16:31
阅读次数:
81
我十分喜欢~~自带大常数的~~STL 思路都是反着来,先把该删的节点都删除,再一个一个往图里面加。 加节点的时候分类讨论: 假设当前要加的节点是 _u_ ,用 来存储 _u_ 节点直接连接的点 _v_ 的所属集合的值 _find(v)_ ,这样 _S.size()_ 的值就表示 _u_ 节点究竟链接 ...
分类:
Web程序 时间:
2019-11-07 23:23:53
阅读次数:
140
1 #include<iostream> 2 #include<cstring> 3 #define debug(i) cout<<"(i): "<<i<<endl 4 using namespace std; 5 6 int fa[400010]; 7 8 int find(int x) 9 { ...
分类:
Web程序 时间:
2019-10-09 14:02:01
阅读次数:
147
1 #include 2 #define _for(i,a,b) for(int i = (a);i b;i --) 4 #define INF 0x3f3f3f3f 5 #define MOD 1000000007 6 #define pb push_back 7 typedef long lon... ...
分类:
Web程序 时间:
2019-09-19 22:00:13
阅读次数:
143
思路: 本题目与 $p2700$ 类似。 向图中正向减点减边,每次都构建并查集,计算联通块的方法 肯定会TLE 则需要把思路调转: 需要先将路径都推倒,再重新建边 先输入各边,被摧毁的星球, 并将其离线储存 (注意存无向图) 之后,建起不包括存储的 被摧毁的星球 的并查集, 这样就得到了最后状态的联 ...
分类:
Web程序 时间:
2019-09-04 00:19:00
阅读次数:
93
题意 给一张无向图,点带权,边也带权 要求在图中删去最少的边,使得对于每一条边,它所在连通块的点权之和大于其边权 解法 首先,看到题目里出现了 删边 ,我们首先想到反向加边(如 星球大战 ) 那么最后的答案就是$m ans$,$ans$为加入的边 考虑一个边权为$w$的边$E(u,v)$ 它是合法的 ...
分类:
其他好文 时间:
2019-09-01 22:11:51
阅读次数:
156