
强联通
文章平均质量分 73
zsyz_ZZY
Be the stronger one!
展开
-
luogu P3119 [USACO15JAN]草鉴定Grass Cownoisseur
题目传送门:https://www.luogu.org/problemnew/show/P3119题意:在一个有向图中,有n个点,m条边,可以逆行一条边,求从1走到任意点,再返回所经过的最多点的个数。思路:先缩点,再跑两边spfa。我们可以知道,缩完点后剩下的图中有三种点1.与1点直接相连;2.与1点通过反向边相连;3.与1点不相连。而因为题目说可以逆行一条边,所以3这种点是完全没有用的。而我们可...原创 2018-04-22 15:53:49 · 316 阅读 · 0 评论 -
luogu P3225 [HNOI2012]矿场搭建
题目传送门:https://www.luogu.org/problemnew/show/P3225题意:有m条边,现在在数量尽量少的点上加上安全出口,使得剩下的无论哪一个点坍塌,其它点都能到达安全(即不坍塌)的点。思路:由“使得剩下的无论哪一个点坍塌”可知是要求割点。我们跑完割点后再跑一遍dfs(在我的代码中是go),求出每一块的割点的数目以及总数,最后用组合公式搞搞就可以了。对于当前块来说:1....原创 2018-04-22 21:26:47 · 200 阅读 · 0 评论 -
luogu P3530 [POI2012]FES-Festival
背景: 继续肝… 题目传送门: https://www.luogu.org/problemnew/show/P3530 题意: 垃圾翻译。 有两种约束条件(每种有多个),对于每一个约束条件给出两个位置x,yx,yx,y,使得xxx位置和yyy位置上的值满足所对应的约束条件。现在你需要构造一个满足所有约束条件的序列(值域为[1,n][1,n][1,n]),使序列中不同元素的个数的尽可能大,求...原创 2019-03-30 09:50:52 · 437 阅读 · 0 评论 -
割点详解
定义:在一个无向图中,如果去掉一个点和它所连出去的的所有边,使得剩下的点不联通(即分成一个以上的强连通分量)时,这个点被称为关节点。题目:来看一道裸题:有n(1≤n≤10^6)个点,m(1≤m≤5*10^6)条边,现在让你求图中所有的关节点。思路1:枚举+dfs枚举割掉那些点,再跑深搜看看剩下的点是否连通即可。时间复杂度:O(n(n+m))代码就不贴了(人人都会打)。思路2:割点模板(类似于强连通...原创 2018-04-12 10:01:47 · 5490 阅读 · 2 评论 -
广义圆方树学习笔记 & luogu P4320 道路相遇
背景: 补一下坑吧。 题目传送门: https://www.luogu.org/problem/P4320 题意: 一个图,每一次询问两个点的所有路径的交集的大小(对于一条路径,不能走过同样的点)。 思路: 我真的快想出正解了,但是不会实现。 容易发现最后产生贡献的点一定是割点。 一开始我的想法是用这个割点来代替点双里的所有的点,后来发现这样的做法极其难以实现,而且会被菊花图卡掉。 于...原创 2019-09-24 15:59:43 · 431 阅读 · 1 评论 -
CF487E Tourists
背景: 越来越困了。 题目传送门: https://www.luogu.org/problem/CF487E 题意: 一个图,支持修改点权,支持查询x,yx,yx,y之间所有不重边路径的最小值。 思路: 若这个问题在树上就是一道大水题了,直接树剖维护即可。 但是这个问题在图上,将图变成树的一种操作是圆方树,不妨考虑圆方树来解决。 由于我们知道若有路径经过一个点双,则这个点双对答案的贡献...原创 2019-09-26 08:40:48 · 392 阅读 · 0 评论