• Tidak ada hasil yang ditemukan

子圖與特殊的圖

5.2.1 定義

• Subgraph,子圖:如果兩個圖 G= (V, E), G = (V, E),如果 V ⊆V, E E,那我們 說 GG 的子圖。

• Induced Subgraph,導出子圖:如果圖GG的子圖,且對於任兩個頂點u, v ∈V(G),

(u, v)∈E ⇐⇒(u, v)∈E,那我們說GG 的導出子圖。

• Spanning Subgraph,生成子圖:如果圖 GG 的子圖,V(G) = V(G),那我們就說 GG 的生成子圖。

• Compliment Graph,補圖:圖 G 的補圖 Gc,為滿足 V(Gc) = V(G) 且 e E(G) ⇐⇒

e /E(Gc) 的圖。

• Path,路徑:圖 G 中的一個頂點的序列 (v1, v2,· · · , vn) 滿足 vi V(G),(vi, vi+1) E(G)。v1 稱作路徑的起點,vn 為路徑的終點。

• Simple Path,簡單路徑:點都不重複的路徑。

• Cycle,環:一個起點與終點的路徑。

• Simple Cycle,簡單環:點都不重複的環。

5.2.2 一些特殊的圖

簡單圖

我們把一條邊 (v, v),即邊的兩端連接同一個頂點稱作自環。而如果有兩個邊 e1, e2 同時 連接相同的兩個頂點 (v1, v2)(在有向途中則如果同時有兩個有向邊的起點為 v1,終點為 v2),

我們就稱作重邊。

一個簡單圖即是沒有上述兩種邊的圖。

Question

• 給你一個有 n 個點的度數的序列 deg(v1),deg(v2),· · · ,deg(vn),請判斷是否存在 一個簡單圖使得圖中點的度數序列恰為此序列。(<TIOJ 1210> [圖論之簡單圖測 試],O(nlgn))

連通圖

如果一個圖 G滿足圖中任兩個點 vi, vj 都有一個路徑連接兩點,那我們就說G 是連通圖 (Connected Graph)。

Author: M.S.E 68

2012/11/08 5.2. 子圖與特殊的圖

如果一個無向的簡單圖 G 滿足 G是沒有環的連通圖,那我們就稱 G 為一棵樹(Tree)。

而在有向圖 G 中,如果存在一點 v 使得 deg+(v) = 0,且任何其他點 u 滿足 deg+(u) = 1,

並且從 vu 有且僅有一條簡單有向路徑相連,我們就說 G 是一個以 v 為根的有向樹 (Directed Tree)。

Question

請說明以下的定義和樹的定義等價。

1. G 沒有環,但是在 G 加任意一條邊就會形成一個環。

2. G 是連通的,但是如果去掉任意一條邊就會使得 G 不連通。

3. G 中任意兩個頂點能被唯一一條簡單路徑連通。

4. G 是連通的,且 |E|=|V| −1。

如果一個圖 G 滿足 |E|=|V|,請問這個圖會有甚麼性質?

1...

2

.

4

.

5 .

3

完全圖

如果無向圖 G 滿足任意兩個頂點都有一條邊相鄰,那我們說 G 是完全圖 (Complete

Graph),有n 個頂點的完全圖是唯一的,記作 Kn

二分圖

如果無向圖 G 滿足可以將 G 中的頂點分成兩個集合 V1, V2,使得任意 (v1, v2) E(G),

v1, v2 不會在同一個集合 V1 或是 V2 內,我們就說 G是二分圖 (Bipartite graph)。

Question

請判斷一個圖 G 是不是二分圖。(<TIOJ 1209> [圖論之二分圖測試],O(|V|))

69 Author: M.S.E

CHAPTER 5. 圖論 建國中學2012年資訊能力競賽培訓講義 - 05

平面圖

如果圖 G 可以畫在平面上使得他的邊僅在端點處相交,我們就說 G 是平面圖 (Planar

Graph)。一個平面圖的邊會把平面區隔成不同的區域稱作面,記作F。平面圖中有著名的歐

拉定理 |V| − |E|+|F|= 2

...

5.2.3 Exercise

• 給你一個圖 G = (V, E),其中 |E| = |V|,找出這個圖中最長的一條簡單路徑。(<IOI 2008> [Island], |V| ≤3000)

• 如果一個圖 G的頂點可以被分成兩個集合 C, I 滿足C 中的任兩點都有邊相鄰,而I 中 的任兩點都沒有邊相鄰,那我們說 G 是一個 Split Graph。給你一個簡單圖 G,請問他 是不是 Split Graph。(<POI XVIII> [Conspiracy], O(|V|+|E|))

• 如果一個有向圖G= (V, E)滿足任兩個點v1, v2,(v1, v2)∈E 或是(v2, v1)∈E 恰有一個 成立,那我們就說這是一個競賽圖 (Tournament Graph)。給你一個競賽圖G,請找出一 個 3-環 (長度為 3 的簡單環) 或是輸出無解。(<CodeForces 117C> [Cycle],|V| ≤3000)

• 證明:任何一個競賽圖 G,一定可以找到一個點 v,滿足對於其他所有的點 u,使得以 下兩點至少有一點成立:

1. (u, v)∈E(G)。(注意競賽圖是有向的)

2. 存在另一個點 w 滿足(u, w),(w, v)∈E(G)。

• 給你一個圖 G= (V, E),其中 |E|=|V|,找出這個圖中最長的一條簡單路徑。

• 給你一個圖 G = (V, E),其中 V = 3k,已知這個圖中有一個子圖為 2k 階完全圖 K2k,請找出這個圖的一個子圖 G 滿足 Gk 階完全圖 Kk。(<POI XVIII> [Party],

|V| ≤3000)

• 證明:如果 G 是一個平面圖,那麼 |E| ≤3|V| −6。

• 給你一個樹 T = (V, E) 和平面上的 |V| 個點 V,請用這些點構造一個平面圖 G = (V, E) 滿足 TG 同構。即用平面上的這些點畫原本所給的樹 T。(<CodeForces 196C> [Paint Tree], |V| ≤105)

Author: M.S.E 70

Dokumen terkait