- 2024-07-18Tarjan模板
structSCC{inttop=0,cntscc=0,dfncnt=0;vector<int>dfn,low,stk,instk;vector<int>sccnum,sccid;vector<vector<int>>g,scc;SCC(intn){dfn.assign(n+1,0);low.assign(n+1,0
- 2024-05-192-SAT
2-SAT2-SAT,简单的说就是给出\(n\)个集合,每个集合有两个元素,已知若干个\(<a,b>\),表示\(a\)与\(b\)矛盾(其中\(a\)与\(b\)属于不同的集合)。然后从每个集合选择一个元素,判断能否一共选\(n\)个两两不矛盾的元素。显然可能有多种选择方案,一般题中只需要求出一种即可。对
- 2024-05-19P4171 [JSOI2010] 满汉全席 2-SAT
P4171[JSOI2010]满汉全席2-SAT题目链接思路:2-SAT模板题,我们将满席定为1,汉席定为0.那么建边即可。判断同一道菜满汉是否在强联通分量中即可。注意多测清空!!!代码:vector<int>e[N];stack<int>stk;intdfn[N],low[N],tot;intinstk[N],scc[N],siz[N],cnt;intn,m;void
- 2024-03-02Living-Dream 系列笔记 第46期
强连通分量(StronglyConnectedComponents,SCC)。强连通:有向图中,\(x,y\)能相互到达。弱连通:有向图中,\(x\)能到\(y\),\(y\)不能到\(x\)(或反之)。强连通分量:有向图\(G\)中一极大子图\(G1\),使得\(G1\)任意两点均强连通,且\(G1\)不可变得更大(不能添加点)。强连通分量要么是
- 2024-02-202024/2/20
今天学习一下缩点。强连通的蓝题真水luogup2812题意:学校有n台计算机,他们之间有线路相连,我们视为有向边。(1)问要使得所有计算机都能获取到一个消息,需要几台母机?(2)如果用一台母机传播消息使得所有计算机都接收到,需要添加几条新的线路?思路:这个题是缩点的模板题。首先通过
- 2024-01-26【板子】强连通分量(SCC)
//强连通分量//lg2863求强连通分量的数量#include<bits/stdc++.h>usingnamespacestd;constintN=(int)2e4+4;intwhere[N];//这个点在哪个scc里intscccnt;intsccsize[N];intlow[N],dfn[N],idx;boolinstk[N];stack<int>stk;vector<int>e[N];intn,m;