
并查集
Stupid_Computer
美丽
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jzoj 5794 旅行
题目题解–这道题是啥来着,反正不是图论题就好了(23333) 我们发现最后的答案肯定是某条边的左端点,和某条边的右端点 所以我们直接枚举一下左端点的答案,再利用贪心原则,将r从大到小排序后,满足l<=答案(就是可以走过的边),依次加入并查集中,每次加入后,判断1和n的连通性,如果连通,就知道了一组答案了,r就是加入的边中的最小值 最后取最大值就行(记住要路径压缩) 是...原创 2018-08-11 07:27:59 · 247 阅读 · 0 评论 -
jzoj 5782 城市猎人
题目题解–本来是很难,但是总有优秀的大佬加神牛犇活在这个世界上 首先不用n^2枚举a和b, 某位大佬说: a和b其实就是 1 * (m-i+1),2 * (m-i+1),3 * (m-i+1),4 * (m-i+1)。。。。 (哇,我咋不知道呢QAQ) 那么用并查集建一棵树就好了 树边就是连接他们的 i 然后好像有什么优化?——小树连大树(按秩合并) 最后跑对于每...原创 2018-08-08 22:24:25 · 273 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.3】到不了
题目题解–大佬都用lct,像我这种弱鸡就只有用一种神奇的做法了首先离线直接把最后的森林处理出来(并查集)再跟着修改顺序,在这些树上跳lca但是这不一定是最后的答案(因为树不一定就是最后的样子了)所以我们还要用当前的真实根来判断一下:如果真实根和这两个点的lca的深度比当前答案深那就要更新答案自己画图看看呗代码#include<iostream>#inc...原创 2018-10-03 20:07:16 · 268 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.17】刺客信条(AC)
题目题解–这道题可以用二分,或者是并查集但是怎么写check()是个大问题首先,你可以发现,对于一个人,他能控制的范围是个圆如果不能到终点的情况就是一串圆相连,把起点和终点隔开所以可以用并查集维护连通性当边界刚好联通的那个就是最远的距离代码#include<iostream>#include<cstdio>#include<cstdlib&...原创 2018-10-17 21:38:46 · 511 阅读 · 0 评论