
割点和桥
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
gym102835I Critical Structures
https://codeforces.com/gym/102835/problem/I比赛的时候想了半天为什么第二个样例不是2个极大边集,最大边集数是3后来隔壁队告诉我们他们猜想是割边可以也当极大边集,然而他们wa了,于是我也写了一发也wa了补题的时候发现这个猜想是对的,卧槽他第四种是边数,第三种也是边数,我都当点数算了,一般边双联通分量缩点都是统计点。。。那么这题就是求割点割边双联通分量水题了#include<bits/stdc++.h>using namesp.原创 2020-12-03 00:10:57 · 674 阅读 · 0 评论 -
[Gym-101986F] [Problem F] 2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest
先把1到2的最短路上的边全部标记上,标记一条边是否属于最短路,就是正着跑一遍最短路得到dis1,倒着跑一遍得到dis2,如果对于一条边u,v,c,dis1[u]+c+dis2[v]=dis1[2]那么就是最短路上的边了。对于最短路上的边,翻转他,如果他是桥,那么最短路一定会变长,如果不是,说明还有不经过这条边的最短路,那么最短路是不变的。对于不是最短路上的边,如果dis1[v]+c+dis...原创 2018-11-25 14:53:59 · 410 阅读 · 0 评论 -
poj1144 求割点模板
以后这种模板还是看书比较好,网上的博客都讲得不是很好,推荐lyd写的《算法竞赛进阶指南》写的,代码比较现代化(是的我就是在嫌弃紫书白书),然后讲解的也通俗易懂。在各类tarjan算法中,dfn[i]表示到达i的序号,low[i]表示i所能间接到达的点中dfn最小的值。那么如果一个点u是割点,如果他是根节点,那么就要有两个儿子节点的dfn[u]<=low[v],如果不是,那么只要有一个...原创 2019-07-26 19:54:27 · 206 阅读 · 0 评论 -
求桥模板 [Gym-101986F]
原来的题解:https://blog.youkuaiyun.com/liufengwei1/article/details/84489935这题有一步是要求1-n中间所有最短路边上的关键路径,也就是最短路边组成的子图的桥当时训练赛我还不会求桥,就去网上找有向图求桥的代码然后WA了半天。。。后来发现别人都是先转换成无向图再求桥的这里更新为了lyd《算法竞赛进阶指南》上求桥的板子如果搜索树上某...原创 2019-07-26 20:56:19 · 287 阅读 · 0 评论 -
bzoj1123 [POI2008]BLO
对于一个点的答案ans[u],如果u不是割点,那么删去u,其他点还是连通的,由于是有序点对,那么ans[u]=2*(n-1)如果一个点是割点,那么则需要另外讨论。在tarjan搜索的路上,记录u的所有子节点v的权重sum,首先对于所有儿子v,size[v]表示搜索树中v子树的节点个数,那么这个size[v]为有序对前一个的贡献就是ans+=size[v]*(n-size[v])。然后是...原创 2019-07-27 20:16:44 · 168 阅读 · 0 评论 -
codeforces1214D Treasure Island
http://codeforces.com/problemset/problem/1214/D去年区域赛训练的时候做了一道最短路关键路径,暑假学联通分量割点桥的时候又做了一遍那题,今天又碰到了。。。只能向右走和向下走,那么最多只需要2步就能堵住。如果不能到达,那么答案是0有一种找关键路径或关键点的方法是正着跑一遍倒着跑一遍,如果那个边(点)的正反方案数相乘等于总方案数,那么他就是关键的...原创 2019-09-04 20:42:31 · 430 阅读 · 0 评论