luogu P1330 封鎖陽光大學

2022-05-05 16:42:10 字數 1326 閱讀 6338

emmmm

下午被dtx大佬強迫(用詞似乎不當?)去做

他tql!!!%%%

然鵝最終還是他給我講的www

所以這其實是一道圖的遍歷

(但是我有搜尋恐懼症啊啊啊看到搜尋整個人都慌了

而且看題面

這道題還有乙個仔細想想就能想出來的點

就是每一條邊的兩個點,一定是乙個有河蟹,乙個沒有的

所以標記一下就比較好判斷了

然後要注意這道題它並不只是乙個圖

所以要把每一次走過的圖標記一下,下次不走

(這是dtx大佬身先士卒下資料得來的經驗orz

然後看一下**吧

(有點晚了太睏了所以水一發23333

#include#include

using

namespace

std;

#define maxn 10010

intcolor[maxn];

int to[maxn * 20],nxt[maxn * 20],head[maxn * 20];//

無向圖呦

intcnt;

intflag[maxn];

intans,orz;

void add(int x,int

y)//

存圖int dfs(int qwq,int col)

flag[qwq] = 1;//

標記一下走過了

if(col == 0)ans++;

else orz++;//

兩個都計一下數,最後取最小的(因為放河蟹反過來是一樣的都能理解吧

color[qwq] = col;//

把顏色標記一下

for(int i = head[qwq];i;i = nxt[i])//

遍歷這個圖

if(!dfs(to[i],1 - col))//

不合理返回0

return0;

return1;

}int

main()

int sum = 0;//

很多個圖最後的總和

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

sum +=min(ans,orz);

} printf("%d

",sum);

return0;

}

啊去睡了困死

晚安

luogu P1330 封鎖陽光大學

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...

luogu P1330 封鎖陽光大學

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...

luogu P1330 封鎖陽光大學 題解

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...