Bzoj1006 HNOI2008 神奇的國度

2022-05-02 04:03:09 字數 1150 閱讀 5497

標籤: 弦圖

題目鏈結

給你乙個弦圖,對其進行染色,相鄰的不能同色。

問最少多少種顏色

cdq的**《弦圖與區間圖》講的很清楚了。

但是我還是來說一下吧。

一般圖中滿足

極大團大小<=色數。

然而在弦圖中,

極大團大小=色數。

(因為弦圖的極大團只有可能是某個點和在他完美消除序列後面且相鄰的點 所形成的點集 的誘導子圖至於為什麼我不知道)

所以直接在完美消除序列從後往前貪心取點就行了。

#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define ll long long

#define rep(i,a,b) for(int i=(a),_end_=(b);i<=_end_;i++)

#define drep(i,a,b) for(int i=(a),_end_=(b);i>=_end_;i--)

#define erep(i,a) for(int i=start[(a)];i;i=e[i].next)

inline int read()

const int maxn=1e4+20;

struct node ;

node e[maxn*100*2];

int cnt,start[maxn];

int n,s[maxn],vis[maxn],id[maxn];

void addedge(int u,int v)

; start[u]=cnt;

}int m;

void init()

}void doing()

vis[u]=t;id[t]=u;

erep(i,u)s[e[i].v]++;

} int col[maxn]=;

drep(i,n,1)

; erep(j,u)

rep(j,1,n)if(!color[j])

} int ans=0;

rep(i,1,n)ans=max(ans,col[i]);

cout<}int main()

狡猾的商人 bzoj1202,HNOI2005

ac通道 分析 因為每月的總收入可以為正,也可以為負,所以要比較兩個區間是否相符,當且僅當它們邊界都相同時才能比較。我們設w i 表示第1 i個月的總收入與第1 fa i 1 個月的總收入之差,及第fa i i個月的總收入。如圖。若i 1,j在同乙個集合中,則第i j個月的總收入為w j w i 1...

bzoj1006 hnoi2008 神奇的國度

time limit 20 sec memory limit 162 mb submit 2379 solved 1074 submit status discuss 第一行兩個整數n,m。1 n 10000,1 m 1000000.表示有n個人,m對認識關係.接下來m行每行輸入一對朋友 輸出乙個整...

BZOJ1006 HNOI2008 神奇的國度

time limit 20 sec memory limit 162 mb submit 3217 solved 1446 submit status discuss k國是乙個熱衷三角形的國度,連人的交往也只喜歡三角原則.他們認為三角關係 即ab相互認識,bc相互認識,ca 相互認識,是簡潔高效的...