• CodeForces 1103C. Johnny Solving


    题目简述:给定简单(无自环、无重边)连通无向图$G = (V, E), 1 leq n = |V| leq 2.5 imes 10^5, 1 leq m = |E| leq 5 imes 10^5$,保证任意节点的度数$geq 3$。给定参数$1 leq k leq n$,要求完成以下任务之一:

    1. 找到一条包含至少$frac n k$个节点的简单路径。

    2. 找到$k$个简单环,使得

        2.1. 每个环包含少于$frac n k$个节点,且包含的节点个数不得被$3$整除;

        2.2. 每个环都存在一个代表节点,这个节点不在其他环中出现。

    解:code

    考虑图$G$的DFS树$T$。

    1. 若$T$中存在深度$geq frac n k$的节点(根节点深度为$1$),则找到了一条包含至少$frac n k$个节点的简单路径,完成任务1。

    2. 不然(即,树$T$的深度$< frac n k$),$T$存在至少$k$个叶节点(设$T$有$x$个叶节点,则

    $$n = |V| leq sum_{v ext{ is a leaf of } T} ext{depth}(v) < x frac n k, $$

    从而$x > k$)。我们可以通过其中$k$个叶节点构造$k$个满足条件的简单环。

    设$v in V$为$T$的某个叶节点,注意到$v$在$G$中的度数$geq 3$,故存在两个不同的节点$x, y in V$,他们都不是$v$的父节点且$(v, x), (v, y) in E$。则$x$和$y$均是$v$在$T$中的祖先(DFS树的性质)。不妨设$ ext{depth}(x) > ext{depth}(y)$。

    考虑以下三个环:

    a) $v, ext{father}(v), dots, x$,长度为$l_a = ext{depth}(v)- ext{depth}(x)+1$;

    b) $v, ext{father}(v), dots, y$,长度为$l_b = ext{depth}(v)- ext{depth}(y)+1$;

    c) $v, x, ext{father}(x), dots, y$,长度为$l_c = ext{depth}(x)- ext{depth}(y)+2$。

    这三个环的长度均$ < frac n k$,且不可均为3的倍数(设环a和环b长度均为3的倍数,则环c的长度$ l_c = l_b-l_a+2 equiv 2 pmod 3 $不为3的倍数)。完成任务2。

  • 相关阅读:
    js正则表达式
    js正则表达式校验非负浮点数:^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
    js正则表达式校验非正整数:^((-d+)|(0+))$
    读书笔记--第三章
    phpmyadmin创建数据库无权限
    读书笔记--第二章
    读书笔记--第一章 信息收集
    CTF-1-web安全
    kali优化配置(4)---被动信息收集
    以太坊私有链搭建
  • 原文地址:https://www.cnblogs.com/TinyWong/p/10348575.html
Copyright © 2020-2023  润新知