摘要:
##https://ac.nowcoder.com/acm/contest/33188/F 既然是取点就该想到点双。 如果全图就是一个点双,显然可行。 如果只有 2 个点,显然可行。 若全图有多个点双,如果二者都在同个点双,显然不可行。 枚举 1 ~ n−1 的过程中点的变化是连续的,但如果有个人开 阅读全文
posted @ 2022-08-31 22:52
liang302
阅读(31)
评论(0)
推荐(0)
摘要:
#Hacker 对模式串建立 SAM ,将匹配串的字符一个个走下去,没有该字符就向上跳 parent tree 上的父亲继续找,如此得到对于每个前缀 b1,i 的可最长匹配的后缀,加个线段树维护权值前缀和的最小值即可。 #include<bits/stdc++.h> #define IL inlin 阅读全文
posted @ 2022-08-31 22:52
liang302
阅读(27)
评论(0)
推荐(0)
摘要:
当发现dfn[x]<= low[j] 说明y搜不到x上面 说明x是子树 if(dfs(x)<=low(y)){ cnt++; if(x不是根节点|cnt>1) 说明x是割点 将栈中元素弹出直到弹出y为止 而且x也是在双连通分量里面 } 割点属于两个双连通分量 1.出口数量大于等于2 2.不同连通块之 阅读全文
posted @ 2022-08-31 19:32
liang302
阅读(30)
评论(0)
推荐(0)
摘要:
https://www.acwing.com/problem/content/description/1185/ 如何求割点: x->y: 1.如果从y开始搜能搜到x 那就一定不是割点 2.如果不能搜回去 x不是根节点 删掉x 一定会分成两个不连通的部分 3.如果x是根节点 当至少有两个子节点 才会 阅读全文
posted @ 2022-08-31 17:05
liang302
阅读(187)
评论(0)
推荐(0)
摘要:
无向图 缩点后 变成 一颗树 叶子结点就是 出度为0 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 5010,M=20010; int n,m; int h 阅读全文
posted @ 2022-08-31 16:49
liang302
阅读(30)
评论(0)
推荐(0)
摘要:
最长路 如果有正环就输出无解 a>b 那么b到a连一条长度为1的边 结论: 一个正环一定是某个scc中的 对于某个scc中的所有边 ,只要又一个边的权重是严格>0 因为u+w->b w>0 又u和v 在一个scc中 则v也一定能到v 所以就存在一个正环 那么当没有正环的时候 经过tarjan的图就是 阅读全文
posted @ 2022-08-31 16:00
liang302
阅读(30)
评论(0)
推荐(0)

浙公网安备 33010602011771号