洛谷P1995 程式自動分析

2022-05-31 05:06:20 字數 880 閱讀 8470

2017-03-18

題目:這道題一般能看出來是並查集。

但是,i、j的範圍似乎有一點鬼畜。。。。。。

但是n的範圍還是比較友好的。

所以,我們要用的一招叫做離散化。

離散化,針對只在乎大小,而不在乎具體值的資料使用。

如果不會離散化的話,問度娘或點_

1 #include2 #include3 #include4 #include5

using

namespace

std;67

struct

nodea[100010

];11

12int n,t,c[200210],tot,fa[200210

];13

intsize;

14bool yes=true;15

16int find(int

x)20

21int

main()

35 sort(c+1,c+1+tot);

36 size=unique(c+1,c+1+tot)-c-1;37

for (int i=1;i<=n;++i)

41for (int i=1;i<=n;++i)46}

47for (int i=1;i<=n;++i)54}

55}56if (yes) cout<

yes"

<

57else cout<

<

59return0;

60 }

戳我》_<

騙分真神奇,暴力出奇蹟。

洛谷 P1955 NOI2015 程式自動分析

目錄 傳送門 首先看到這種沙雕範圍 109109 直接選擇離散化,然後貌似就是簡單直接的並查集了 我們先將相等關係的 x x y role presentation y y進行合併,然後看不相等關係中的 x x y role presentation y y,如果他們兩個的祖先是一樣的,也就是之前已...

洛谷P1955 程式自動分析 並查集 離散

給出n nn個變數之間的關係 等或不等 求這些活能否全部是真話。思路 考慮並查集,先將讀入的排序,給出相等關係的在前,不等關係的在後。那麼對於所有相等的兩個變數,我們將它們化為同一集合。之後對於不相等的變數,我們看看這兩個變數是否在同一集合內,如果在同一集合內,說明這兩個變數是相等的,所以肯定不成立...

洛谷P1955 程式自動分析 並查集 離散

給出nn 個變數之間的關係 等或不等 求這些活能否全部是真話。思路 考慮並查集,先將讀入的排序,給出相等關係的在前,不等關係的在後。那麼對於所有相等的兩個變數,我們將它們化為同一集合。之後對於不相等的變數,我們看看這兩個變數是否在同一集合內,如果在同一集合內,說明這兩個變數是相等的,所以肯定不成立 ...