傳送門
開始想錯了,寫了個種類並查集
結果發現可能會有很多個種類
便直接離線做
先把所有相等的mer
ge
merge
merg
e在一起
然後再處理不等的
如果有不等關係的在同乙個聯通塊中,顯然是不行的
不想離散化便直接上map
mapma
p了m ap
mapma
p**好啊
#include
#include
using
namespace std;
inline
intread()
const
int n=
1000006
;tr1::unordered_map<
int,
int> fa;
struct oprp[n]
;int flag,n,cnt;
inline
intfind
(int x)
intmain()
else p[
++cnt]
.u=u,p[cnt]
.v=v;
}int i;
for(i=
1;i<=cnt;
++i)
if(i==cnt+
1)cout<<
"yes"
<<
'\n'
;else cout<<
"no"
<<
'\n';}
}
NOI2015程式自動分析 並查集
在實現程式自動分析的過程中,常常需要判定一些約束條件是否能被同時滿足。考慮乙個約束滿足問題的簡化版本 假設 x1,x2,x3,代表程式 現的變數,給定 n 個形如 xi xj 或 xi xj 的變數相等 不等的約束條件,請判定是否可以分別為每乙個變數賦予恰當的值,使得上述所有約束條件同時被滿足。例如...
NOI 2015 程式自動分析
description 在實現程式自動分析的過程中,常常需要判定一些約束條件是否能被同時滿足。考慮乙個約束滿足問題的簡化版本 假設x1,x2,x3,代表程式中出現的變數,給定n個形如xi xj或xi xj的變數相等 不等的約束條件,請判定是否可以分別為每乙個變數賦予恰當的值,使得上述所有約束條件同時...
NOI 2015 程式自動分析
我覺得是noi史上最簡單的題目了,沒有之一。我們把相等的變數合併起來,然後最後在掃一遍不同的變數是否在乙個塊裡。可能變數很大,離散化一下。uojluogu bzoj cogs include include include using namespace std const int maxm 1e7...