图的色数
紫書P286:
?
經(jīng)典問題,無向圖 G ,每個節(jié)點染色,相鄰的節(jié)點不同色,求最少多少顏色。
設(shè) d(S) 表示把節(jié)點 S 染色,所需要的最少顏色。 則有 d(S) = d(S-S') + 1; S'是可以染成一種顏色的,(即S'沒有u,v使得u,v相鄰)。然后就是在S中枚舉這個子集 S'了。
#include <bits/stdc++.h> using namespace std;#define maxnode 1000 #define INF 0x3f3f3f3fint n; ///節(jié)點個數(shù) int d[maxnode<<1]int main() {d[0] = 0;for(int S=1;S<(1<<n);S++) {d[S] = INF;for(int S0 = S; S0 ; S0 = (S0-1)&S) {if(no_edges_inside[S0]) d[S] = min(d[S],d[S-S0]+1);}}return 0; }?
轉(zhuǎn)載于:https://www.cnblogs.com/TreeDream/p/6013723.html
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
- 上一篇: 多网卡无法上外网的解决
- 下一篇: spring aop 环绕通知aroun