bzoj4195 Noi2015 程式自動分析

2022-03-18 10:26:59 字數 1092 閱讀 7639

bzoj4195[noi2015]程式自動分析

題意:t組資料,每組n個給出兩個變數是相等還是不等的約束條件,要求判斷是否能滿足。n≤1000000,變數數量≤109

題解:先離散化,然後只處理相等條件用並查集維護「相等集合」,接著對每個不相等條件判斷是否在乙個集合,是的話則說明不滿足。

**:

1 #include 2 #include 3 #include 4 #include 5

#define maxn 1000100

6#define inc(i,j,k) for(int i=j;i<=k;i++)

7using

namespace

std;

89 inline int

read()

12while(ch>='

0'&&ch<='

9')x=x*10+ch-'

0',ch=getchar();

13return f*x;14}

15int

t,n;

16struct opt; opt opts[maxn];

17struct ls; ls lss[maxn*2]; int lsss,tot,fa[maxn*2

];18

bool cmp(ls a,ls b)

19int find(int x)

20int

main(); lss[++lsss]=(ls);26}

27 sort(lss+1,lss+lsss+1,cmp); tot=0

;28 inc(i,1

,lsss)

32 inc(i,1,tot)fa[i]=i;

33 inc(i,1,n)if

(opts[i].c)

36bool f=0

;37 inc(i,1,n)if(!opts[i].c)39}

40if(f)puts("

no");else puts("

yes"

);41}42

return0;

43 }

20160608

bzoj4195 Noi2015 程式自動分析

題目大意 有 n n leqslant10 6 個變數,有若干限制,形如 x l 與 x r 必須相等或不相等,問是否有解 題解 並查集,把相同的塞在乙個集合裡,最後判一下不相等的是否在乙個集合內,是則無解 卡點 當成了元素非 0 即 1 c code include include define ...

BZOJ 4197 Noi2015 壽司晚宴

為了慶祝 noi 的成功開幕,主辦方為大家準備了一場壽司晚宴。小 g 和小 w 作為參加 noi 的選手,也被邀請參加了壽司晚宴。在晚宴上,主辦方為大家提供了 n 1 種不同的壽司,編號 1,2,3,n 1,其中第 i 種壽司的美味度為 i 1 即壽司的美味度為從 2 到 n 現在小 g 和小 w ...

bzoj4197 NOI2015 壽司晚宴

題意 有n 1 個數從 2 n 從中選出兩個集合 s 和 u 可以為 要求對於 x s,y u,都有gc d x,y 1 求方案總數 n 500 解法 狀壓dp 首先看到互質這一條件,可以想到利用質因子來判斷 很同意證明,對於乙個數 x 大於x 的質因子至多有乙個。假設存在兩個及兩個以上大於x 的質...