JSOI2008 星球大戰 並查集

2022-05-16 02:02:59 字數 650 閱讀 7514

決定再做一道並查集水題....

正難則反 現將要攻擊的星球都讀入 然後記錄已損壞 再將能連的都連上

然後倒著做 就是套路了qaq 第一次交的**死於沒有認真讀題...編號是從0開始

#includeusing namespace std;

const int n=4e5+5,m=2e5+5,inf=0x3f3f3f3f,p=19650827;

int n,m,k,cnt=0,ans[n],a[n];

bool broken[n];

template void rd(t &x)

int head[n],tot=0;

struct edgee[m<<1];

void add(int u,int v),head[u]=tot;

}int f[n];

int find(int x)

void build(int x,int y)

int main()

ans[1]=cnt;

for(int t=1,x;t<=k;++t)

for(int i=k+1;i;--i) printf("%d\n",ans[i]);

return 0;

}

JSOI2008 星球大戰 (並查集)

很久以前,在乙個遙遠的星系,乙個黑暗的帝國靠著它的超級 統治者整個星系。某一天,憑著乙個偶然的機遇,一支反抗軍摧毀了帝國的超級 並攻下了星系中幾乎所有的星球。這些星球通過特殊的以太隧道互相直接或間接地連線。但好景不長,很快帝國又重新造出了他的超級 憑藉這超級 的力量,帝國開始有計畫地摧毀反抗軍占領的...

JSOI 2008 星球大戰(反向並查集)

這是傳送門 正難即反 我們先把所有安全的邊先連起來,然後倒序列舉每個攻擊,對於乙個攻擊,並查集維護被攻擊點與其他點的關係即可 include define n 400005 define m 200005 using namespace std intn,m,tot,first n k,at n b...

jsoi2008 星球大戰

題目描述 很久以前,在乙個遙遠的星系,乙個黑暗的帝國靠著它的超級 統治者整個星系。某一天,憑著乙個偶然的機遇,一支反抗軍摧毀了帝國的超級 並攻下了星系中幾乎所有的星球。這些星球通過特殊的以太隧道互相直接或間接地連線。但好景不長,很快帝國又重新造出了他的超級 憑藉這超級 的力量,帝國開始有計畫地摧毀反...