數學中,假如有命題 p 一定能推出命題 q,則稱 p 是 q 的充分條件,q 是 p 的必要 條件。
特別的,當 p 既是 q 的充分條件,又是 q 的必要條件時,稱 p 和 q 互為 充要條件
現在有 n 個命題,其中一些是另一些的充分條件。請問有多少對命題互為 充要條件?
輸入第一行兩個正整數 n,m分別表示命題數和已知關係數
接下來 m 行,每行兩個正整數 p 和 q,表示命題 p 是命題 q 的充分條件
輸出僅一行,乙個整數,表示充要條件的對數
考試t2,tarjan手癌了……(u和v什麼的果然容易打錯)然後沒開longlong,gg了
圖論,tarjan
每給一組p q則從p往q連一條有向邊
tarjan縮點之後每個連通分量裡面的任意兩個點都互為充要條件,所以tarjan裡每找到乙個連通分量的時候記一下這個連通分量的大小(彈棧的時候id[cnt]++),最後對於每個連通分量的大小\(k\)求乙個\(c^2_k\)相加即可
#include#define m (600000+5)
#define n (50000+5)
using namespace std;
inline int read()
while(isdigit(c))
return cnt*f;
}long long n,m,ans=0;
long long nxt[m],first[n],to[m],low[n],dfn[n],sign=0,sta[n],top=0,tot;
long long cnt,id[n];
bool insta[n];
void add(int x,int y)
void dfs(int u)
else if(insta[v]&&dfn[v]}
if(low[u]==dfn[u]) while(sta[top--]!=u);
}}long long ask(long long x)
int main()
for(register int i=1;i<=n;i++)
for(register int i=1;i<=cnt;i++)
ans+=ask(id[i]);
printf("%d",ans);
return 0;
}
測試Lync連通性的工具
操作如下 如果你想手動指定邊緣伺服器,就請指定第二項 我現在想測試自動發現服務並登入,所以選擇第一項,並選擇next 2.輸入完整的資訊,以下是虛擬的,請按實際輸入資訊。如果你覺得在別人的 上輸入密碼不安全,那就請你建立個測試帳號吧。如果你的邊緣伺服器證書不是公共可信任的證書 如自己ad的證書 請選...
連通性 SaaS揮之不去的短板
本文講的是連通性 saas揮之不去的短板,it168 資訊 提到saas和雲計算,很多人都會談論到它們的安全 隱私和合規問題,但卻很少有人談及它們的連通性。由於saas應用完全依靠網際網路接入,因此一旦網際網路中斷,企業對saas的訪問馬上就會受到影響,包括erp crm和sfa。saas上的所有資...
Jzoj3898 樹的連通性
其實這題做法很多嘛,簡單說一下 一眼看過去肯定是lct啦,於是馬上開始打 打到一半發現似乎不用lct?好像樹剖也可以嘛 結果發現樹剖也不用,直接乙個dfs序就可以了嘛 用線段樹維護每個點能到達的最遠的祖先,刪邊的時候將整個區間覆蓋即可 注意,對於在子樹中已經斷開的節點不要再覆蓋,可以記錄每個節點深度...