zoukankan      html  css  js  c++  java
  • 题解【[CQOI2017]小Q的棋盘】

    切了水题十分快乐~

    首先发现本题结构一定是颗树~

    本题样例1:

    miao~

    。。没啥用?

    样例2:

    miao~

    这个时候我们发现:根据贪心思想我们希望每次走一步都多走一个点,如果我们选择最长链的话,在链上每走一步就多走了一个点,如果走不完最长链,那答案就是步数+1,而如果走完最长链还有剩余步数的话,每两步可以多访问一个节点,除非已经访问过所有节点。

    接下来证明而如果走完最长链还有剩余步数的话,每两步可以多访问一个节点 :

    [ ext{设走过的集合为}S_1 ext{,没走到的集合为}S_2 ext{,点集为}V ext{,边集为}E ]

    [ ext{那么当}S_1 eq V ext{时,至少存在一点U,其子节点中至少有一个属于}S_2 ]

    [ ext{因为如果不存在这样的结点,该图就不是联通图,更别说树了} ]

    [ ext{那么在访问该节点时,可以花费一步访问那个儿子,在花费一步回来继续} ]

    [ ext{所以走完最长链还有剩余步数的话,每两步可以多访问一个节点} ]

    那么就是道水题啦~ 建议大家去luogu评个红~

    图片来源:http://bubbleioa.top

  • 相关阅读:
    Redux
    版本控制(.git + .svn + SourceTree)
    前端埋点
    前端IDE:VSCode + WebStorm
    浏览器
    Mutation Observer
    函数节流与函数去抖
    React 初识
    Ajax
    JS
  • 原文地址:https://www.cnblogs.com/tyqtyq/p/10387578.html
Copyright © 2011-2022 走看看