日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【并查集】打击犯罪(ssl 2342)

發(fā)布時(shí)間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【并查集】打击犯罪(ssl 2342) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

打擊犯罪

ssl 2342

題目大意:

有n個(gè)人某些人之間有連接(連接成一個(gè)團(tuán)伙),現(xiàn)在要最大的團(tuán)伙人數(shù)不大于n/2,要最少要?jiǎng)h掉幾個(gè)人(要按順序刪)

原題:

題目描述:

某個(gè)地區(qū)有n(n<=1000)個(gè)犯罪團(tuán)伙,當(dāng)?shù)鼐桨凑账麄兊奈kU(xiǎn)程度由高到低給他們編號(hào)為1-n,他們有些團(tuán)伙之間有直接聯(lián)系,但是任意兩個(gè)團(tuán)伙都可以通過(guò)直接或間接的方式聯(lián)系,這樣這里就形成了一個(gè)龐大的犯罪集團(tuán),犯罪集團(tuán)的危險(xiǎn)程度唯一由集團(tuán)內(nèi)的犯罪團(tuán)伙數(shù)量確定,而與單個(gè)犯罪團(tuán)伙的危險(xiǎn)程度無(wú)關(guān)(該犯罪集團(tuán)的危險(xiǎn)程度為n)。現(xiàn)在當(dāng)?shù)鼐较MūM量少的時(shí)間(即打擊掉盡量少的團(tuán)伙),使得龐大的犯罪集團(tuán)分離成若干個(gè)較小的集團(tuán),并且他們中最大的一個(gè)的危險(xiǎn)程度不超過(guò)n/2。為達(dá)到最好的效果,他們將按順序打擊掉編號(hào)1到k的犯罪團(tuán)伙,請(qǐng)編程求出k的最小值。

輸入

第一行一個(gè)正整數(shù)n
接下來(lái)的n行每行有若干個(gè)正整數(shù),第一個(gè)整數(shù)表示該行除第一個(gè)外還有多少個(gè)整數(shù),若第i行存在正整數(shù)k,表示i,k兩個(gè)團(tuán)伙可以直接聯(lián)系

輸出

一個(gè)正整數(shù),為k的最小值

輸入樣例

7 2 2 5 3 1 3 4 2 2 4 2 2 3 3 1 6 7 2 5 7 2 5 6

輸出樣例

1

解題思路:

因?yàn)槭前错樞虼驌舻?#xff0c;所以倒著循環(huán),每次添加一個(gè)人,如果沒(méi)超過(guò)那繼續(xù),如果超過(guò)了就直接輸出

代碼:

#include<cstdio> using namespace std; int n,x,y,pp,p[1005],dad[1005],s[1005],b[1005][1005]; int find(int dep){return dad[dep]==dep?dep:dad[dep]=find(dad[dep]);} //并查集 int main() {scanf("%d",&n);for (int i=1;i<=n;++i){scanf("%d",&b[i][0]);for (int j=1;j<=b[i][0];++j)scanf("%d",&b[i][j]);s[i]=1;//預(yù)處理dad[i]=i;}for (int i=n;i>0;--i){p[i]=1;for (int j=1;j<=b[i][0];++j)//合并其他的if (find(i)!=find(b[i][j])&&p[b[i][j]]){x=find(i);y=find(b[i][j]);if (x>y){dad[y]=x;s[x]+=s[y]; //累加}else{dad[x]=y;s[y]+=s[x];}}for (int j=i;j<=n;++j)if (s[j]>n/2)//判斷符不符合{printf("%d",i);pp=1;break;}if (pp) break;} }

總結(jié)

以上是生活随笔為你收集整理的【并查集】打击犯罪(ssl 2342)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。