摘要:
题意:给定一个长度为n的01串,记f(l,r) 为出现区间[l,r]最多次字符的出现次数,求和sigma 1<=i<=j<=n f(j,i) 思路: 先考虑f(l,r)怎么求,设x为出现0的次数,y为出现1的次数 f(l,r)=max(x,y) =( x+y+|x-y| )/2 显然对于01串,x+ 阅读全文
posted @ 2025-09-02 21:10
Marinaco
阅读(8)
评论(0)
推荐(0)
摘要:
求点双连通分量 int n,m; vector<int>e[maxn]; int low[maxn]; int dfn[maxn]; int tot,cnt; vector<int>ds[maxn]; int stk[maxn]; int top; void dfs(int u,int fa){ l 阅读全文
posted @ 2025-09-02 16:15
Marinaco
阅读(6)
评论(0)
推荐(0)
摘要:
适用于有向图 一个图的一个强连通分量必定是它的搜索树的一个子树 当dfn[u]=low[u]时,表示u点是该强连通分量的根节点 主要在DFS的过程中维护一个栈,存储节点。 int n,m; vector<int>e[maxn]; vector<int>Scc[maxn]; int dfn[maxn] 阅读全文
posted @ 2025-09-02 14:24
Marinaco
阅读(10)
评论(0)
推荐(0)
摘要:
用于无向图 先对每一个连通块建立搜索树 对于搜索树的根节点,判断它是否是割点的条件是:其子树数量大于等于2 对于搜索树的非根节点,判断它是否是割点的条件是:它的子树连通块可以通过非树边到达它的祖先节点,这一过程使用low数组的树形dp解决 vector<int>e[maxn]; int dfn[ma 阅读全文
posted @ 2025-09-02 13:26
Marinaco
阅读(7)
评论(0)
推荐(0)

浙公网安备 33010602011771号