傳送門哈哈傳遞哈斯防火牆 因為圖
聯通,我
們任取一
點開始遍
歷因為圖聯通,我們任取一點開始遍歷
因為圖聯通,
我們任取
一點開始
遍歷 比如從
點1開始
,那麼假
設1塗色
比如從點1開始,那麼假設1塗色
比如從點1開
始,那麼
假設1塗
色 那 麼和
1相鄰的
不上色,
相鄰的相
鄰上
色那麼和1相鄰的不上色,相鄰的相鄰上色
那麼和1相鄰
的不上色
,相鄰的
相鄰上色但這
樣答案可
能超過n
/2.
但這樣答案可能超過n/2.
但這樣答案可
能超過n
/2.
那 我們
對顏色取
反,上色
的都不上
色,不上
色的都上
色那我們對顏色取反,上色的都不上色,不上色的都上色
那我們對顏色
取反,上
色的都不
上色,不
上色的都
上色 效果相
同,但一
定小於n
/2
了效果相同,但一定小於n/2了
效果相同,但
一定小於
n/2了
#include using namespace std;
const int maxn=4e5+10;
int top,vis[maxn],t,n,m,color[maxn];
struct pd[maxn];int head[maxn],cnt=1;
void add(int u,int v)
void dfs(int now,int se)
}void print_one()
vis[1]=1;
dfs(1,0);
if(top<=n/2) print_one();
else print_zero();
cout
top=0,cnt=1;
}}
2638 黑白染色
題目鏈結 題目大意 黑白矩陣,每次可以選擇乙個四聯通塊染色,求最少操作次數 題解 將目標狀態裡相同顏色的聯通塊縮點,列舉起點,生成樹里的最大節點深度就是需要的次數了 如果最大深度是白色的話記得 1 我的收穫 bfs樹 include include include include using nam...
acdream 1056 (黑白染色)
題意 給你一些關係,每個關係是兩隻馬的名字,表示這兩個馬不能在乙個分組裡,問你能否將這些馬分成兩組。黑白染色,相鄰的點染不同顏色。bfs搞即可,水題。this code is made by wangzhili problem 1056 verdict accepted submission dat...
CZY選講 黑白染色
題目描述 給出平面上n 個點,試將他們黑白染色,要求染色後無法用一條直線把黑白完全分開。隨便輸出一種方案。資料範圍 n 100000 題解 點數很多,但是可以發現至多需要4個點就可以完成。根據上述結論進行分類討論即可 找三個點,若三點共線,則按圖1方法染色。若三點不共線,再找第四個點,若與其中兩點共...