• 图论习题乱做


    图论中常常关心有限图,这样的图通常可以取最值、可以归纳,有一些比较好的性质(但是我也说不出几条来)

    有些东西不会翻译,或者说不好翻译,就偷懒了(

    证明:任意图(G)都存在长度为(delta(G)+1)的path,存在长度为(delta(G))的circle

    从图中取出最长的path (P),考虑(P)的一个端点(a),则必然有(N_G(a)subseteq P),否则我们可以找到另一个点扩展(P)使得它更长;

    也就是说(|P|ge |N_G(a)|+1gedelta(G)+1)

    再从中取出(bin N_G(a))使得(b)(P)上最远离(a),则(ap_0p_1dots b)至少有(delta(G))个点,这个circle长度为(delta(G))

    任意包含至少一个circle的图(G)满足(g(G)le 2diamG+1)

    这里(g(G))指的是(G)中的最小circle的长度,(diam G)指的是(G)的直径(任意两点的最长距离)

    不妨取出(G)中的最小circle,记为(C),则(diam G=maxlimits_{forall x,yin V(G)} dist(x,y)gemaxlimits_{forall x,yin V(C)}{dist(x,y)}gelfloorfrac{|C|}{2} floor=lfloorfrac{g(G)}{2} floor)

    于是就有题目给的式子了

    对任意图(G)(rad Gle diam Gle 2rad G)

    这里(rad G)是图(G)的半径,定义为(minlimits_{xin V(G)}maxlimits_{yin V(G)} dist(x,y))。同时可定义中心点(v)为取到(rad G)时的(x)

    不等式的前半是显然的,半径不会超过直径;

    考虑取出中心点(v),则(forall x,yin V(G)),有(dist(x,y)le dist(x,v)+dist(v,y)le rad G+rad G=2rad G)

    这也被称为图上的三角不等式,算是一个小技巧吧。同时涉及半径的问题往往要设出中心点来

    (star)设图(G)半径至多为(k),且最大度至多为(dge 3),则(G)的点数不超过(frac{d}{d-2}{left(d-1 ight)}^k)

    这个构造就比较巧妙,想不到不过可以学习

    首先取出(G)中的中心点(x),定义(D_0=left{x ight})(D_n=N_G(cup_{i=0}^{n-1}{D_i}))

    这样就把图(G)(x)为中心点,按照到(x)的距离分成了若干“层”,且(|D_0|=1)(|D_1|=d)

    (Delta(G)=d)可知,(|D_n|le (d-1)|D_{n-1}|),因为(D_{n-1})中的每个点至少和(D_{n-2})中的点有一条边,因此还剩下至多(d-1)

    于是(|V(G)|=sumlimits_{i=0}^{k}{D_i}le 1+sumlimits_{i=1}^k{d{left(d-1 ight)}^{i-1}}=frac{d{left(d-1 ight)}^{k}}{d-2})

    这个式子告诉我们如果(rad G)(delta(G))都很大,那么这个图也会很大

    完全图(K^n)(frac{n(n-1)}{2})个点

    这个太简单了

    (G)中有长度为奇数的closed walk,则必存在一个长度为奇数的odd cycle

    不妨取出(G)中最短的、长度为奇数的closed walk,记为(W)

    (W)写出来就是(W=v_0e_0v_1e_1dots e_{t-1}v_t)

    1. (W)中任意节点都只出现了一次,则据定义可知这就是一个cycle,且长度为奇数;
    2. 否则(exists i<j)使得(v_i=v_j),此时(v_ie_idots v_j)(W)中的一个closed walk,不妨记为(W')。于是有(|W'|)(|W-W'|)二者必有一个为奇数(由(|W|)为奇数立即得到),因此存在一个更短的、长度为奇数的closed walk,矛盾

    这个“取最值”的证明手法会非常常见

    证明:一棵树(T)至少有(Delta(G))个叶子

    首先证明一棵树(T)(|V(T)|ge 2)时至少有两个叶子:

    在$|V(T)|=2$和$|V(T)|=3$的时候结论是显然的;
    
    假设$T$没有叶子,则$delta(G)ge 2$,由推论可知$T$中存在长度至少为$3$的circle,矛盾;
    
    假设$T$恰好只有一个叶子,记为$v_l$,则图$T'=T-v_l$仍然是一棵树(保持连通性、不会引入环),且$T'$叶子的数量$le 1$
    
    	假设$T'$没有叶子,则矛盾;假设$2le |V(T)|le 3$,则也矛盾;故$T'$必有一个叶子,重复上述操作
    
    	由$|V(T)|$有限可知,上述过程必然会产生矛盾,故$T$至少有$2$个叶子
    

    取出(deg(v)=Delta(T))的点,构造(T''=T-v),则(T'')不连通、(T'')中的每个component都是树,这样共有(Delta(G))棵新树,此时至少有(2Delta(G))个叶子

    注意到有恰好(Delta(G))个叶子是删除了(v)造成的,于是(T=T''+v)中至少有(Delta(G))个叶子

    证明:(G)是二分图(iff G)中无odd cycle

    (Rightarrow)是很好证明的

    假设二分图(G)存在长度为奇数的cycle,记为(C),写出来就是(v_0e_0v_1dots v_{2k}e_{2k}v_0)

    (G)是二分图,则(exists V_0,V_1subseteq V(G))使得(left{V_0,V_1 ight})(V(G))的一个划分,且(forall x,yin V_0, xy otin E(G)and forall x,yin V_1,xy ot in E(G))

    我们不妨令(v_0in V_0),则(v_1in V_1,v_2in V_0,dots,v_{2i}in V_0,v_{2i+1}in V_1,dots),则(v_{2k}in V_0),即(e_{2k})的两端都在(V_0)中,矛盾;

    (Leftarrow)的证明要构造一个解

    已知图(G)中无奇数cycle,任取(rin V(G))(forall vin V(G))我们规定:

    1. (dist(r,v))是奇数,则(vin V_1)
    2. 否则(vin V_0)

    考虑一条边(e=xy),若(xin V_1and yin V_1),那么取(xsim rsim yex)得到一条closed walk,且长度为奇数(奇+奇+1),故(G)一定存在odd cycle,矛盾;

    同理(xin V_0and yin V_0)的情况也可以得到矛盾;于是不存在(V_0)(V_1)内部的边

    连通图(G)中含有长度至少为(minleft{2delta(G),|V(G)| ight})的path或cycle

    这题有点奇妙的

    由反证法,不妨假设我们取出了(G)中最长的path或cycle,记为(P)

    首先考虑(P)为cycle的情况:

    (|P|=|G|)则这就是最长的path或cycle;否则(exists v_0in Gand v_0 otin P),由连通性可知存在(v_1)使得(v_0-v_1)是一条不在(P)上的path且(v_1in P),于是就可以沿着(v_0dots v_1P)走出一条长度不变的path

    然后考虑(P)为path的情况:

    (P=v_0dots v_1),于是(N_G(v_0)subseteq Pand N_G(v_1)subseteq P)。这个可以用反证法得到(否则会有一条更长的path)

    这时候就有个tricky的观察:我们取出(R_P(N_G(v_0))),这里(R_P(S)=left{x|xyin Pand yin S ight})(Ssubseteq P)表示取出(S)(P)中的前驱。

    于是有个claim:(R_p(S)cap N_G(v_0)=varnothing)。证明只需要假设它们相交,则可以将(P)连成一个长度+1的cycle,这与(P)最长矛盾;

    这样子我们就找到了(|P|ge |R_Pleft({N_Gleft(v_0 ight)} ight)|+|N_G(v_1)|+|left{v_1 ight}|=|N_G(v_0)|+|N_G(v_1)|+1=2delta(G)+1),于是由path中点数和边数的关系就可以知道(P)的长度至少为(2delta(G))

    证明树(T)的自同构必存在不动点/不动边

    (|T|=n)作归纳

    (n=1)时必存在不动点;

    (n=2)时必存在不动边;

    设当(n<=k)时命题成立,则当(|T|=n=k+1)时,记(L=left{vmid vin V(T)and deg(v)=1 ight})

    考虑(T)的自同构(sigma),则必有(sigma (L)=L)

    1. (L)(sigma)下存在不动点或不动边,则(T)(sigma)下存在不动点或不动边,命题成立;
    2. (L)(sigma)下不存在不动点和不动边,则(T/L)非空且仍为一棵树,由归纳假设可知(T/L)存在不动点或不动边,于是命题也成立;

    由数学归纳法,(T)是一棵树(Rightarrow T)的自同构存在不动点或不动边 对(forall kinN^+)成立(lacksquare)

    Let (W) be a closed walk of length at least 1 that does not contain a circle. Prove that some edge of (W) repeats immediately (one in each direction)

    首先(|W|=2n,; ninN^+),否则将存在一个odd cycle;

    由归纳法

    (|W|=2)时,显然成立;

    不妨设当(|W|< k)时成立,下面将证明(|W|=k)时仍然成立

    由于(W)无环,可知(exists vin Wand v eq st)使得(v)被经过了两次(否则可得(W)是一个cycle)

    于是取出以(v)为起点和终点的walk (W'),由归纳假设可知(W')满足条件,于是(W)也满足条件。

    Let (v) be a cut-vertex of a simple graph (G). Prove that (overline G-v) is connected.

    Proof:

    It's easy to see that (overline G-v=overline{G-v})

    Assume (G) is connected. Since (v) is a cut-vertex, (exists left{\,{A,B}\, ight}) is a partition of (V(G-v)) s.t (forall xin Aand yin B) we have (xy otin E(G))

    which means (forall xin Aand yin B), (xyin E(overline G))

    Induction on (|Acup B|) will easily prove (overline{G-v}) is connected, thus (overline G-v) is connected.

    If (G) is not connected, assume it has (k) components (C_1,C_2dots C_k), by proof above we know that (C_i) in (overline G-v) is connected for all (1leqslant ileqslant k)

    (forall 1leqslant x<yleqslant k), we have (C_xC_y otsubseteq E(G)), thus (C_xC_ysubseteq E(overline G-v))

    Induction on (k) will easily prove (overline {G-v}) is connected, thus (overline G-v) is connected.

    Prove: (G) is bipartite iff (forall xin G), (forall yin N_G(x)), (exists zin G) s.t. (dis(x,z) eq dis(y,z))

    (Rightarrow)

    假设 (exists xin G), (exists yin N_G(x)), (forall zin G) 都有 (dis(x,z)=dis(y,z))

    那么取closed walk (P(x,z)P(z,y)x),这是一个长度为奇数的 closed walk

    由上面的定理,必然存在一个odd cycle,这和(G) bipartite 矛盾。故假设不成立

    (Leftarrow)

    假设(G)不是 bipartite,那么必然存在极小odd cycle,记为(C)

    任取(xyin C),我们 claim 对于(dis(x,z)=frac{|C|-1}{2})(z) 就是使得 (dis(x,z)=dis(y,z)) 的点, 矛盾

    本文来自博客园,作者:jjppp。本博客所有文章除特别声明外,均采用CC BY-SA 4.0 协议

  • 相关阅读:
    5.6Java 创建File
    5.6Java File ApI
    Java字符集乱码
    5.17Java文件的拷贝
    5.10Java实操IO流,面向接口编程,面向父类编程
    5.6Java File对象使用递归打印子孙级目录以及文件的名称
    5.10JavaIo流四大抽象类
    5.17Java文件字节流
    5.7通过Maven配置seleeniumjava依赖
    5.6Java多态的介绍
  • 原文地址:https://www.cnblogs.com/jjppp/p/14639203.html
Copyright © 2020-2023  润新知