zoukankan      html  css  js  c++  java
  • CF1338

    Codeforces Round #633 (Div. 1)

    A

    最优情况一定是只在必须的位置增加,记录最大增量,取 (log_2) 即为答案。

    B

    最小值:叶子节点两两间的距离都为偶数时,答案为 (1),否则答案为 (0),以任意一个叶子节点为根 (dfs) 即可判定。

    最大值:先将答案设为 (n-1),若一个节点有 (k (k>0)) 个相邻的叶子节点,则答案减去 (k-1)

    C

    打表找规律,规律和四进制有关。

    D

    树上相邻的两个点一定不可能产生包含关系,同时发现若 (x,y) 有包含关系,(z) 也在这个包含关系中,则 (z)(x,y) 路径的距离一定 (leqslant 1)。画图不难得,若距离 (>1),则 (z) 是被夹在 (x,y) 间的,因此该结论成立。

    得任何一个合法情况都是在树上选出一条毛毛虫,在上面求最大独立集。考虑树形 (DP),设 (f_{x,0/1}),表示以 (x) 为端点向下延申的毛毛虫的最大独立集,(0/1) 表示 (x) 是否被选,设 (y)(x) 的一个儿子,得转移为:

    [largeegin{aligned} f_{x,0}&=maxleft{ max{ f_{y,0},f_{y,1} }+deg_x-2 ight} \ f_{x,1}&=max{ f_{y,0}+1 } end{aligned} ]

    这里转移到 (f_{x,0}) 时加上 (deg_x-2) 的原因是最优情况一定是把 (x) 的父亲也选上,所以 (x) 相邻的点就只考虑 (deg_x-2) 个。

    对于不是直上直下的毛毛虫,在 (lca) 处合并来更新答案即可。

    E

  • 相关阅读:
    Annotation
    jdbc
    集合
    与运行环境交互
    计数排序and基数排序
    面向对象下
    面向对象
    流程控制与数组
    庆祝自己的BLOG开张
    Raspberry Pi配置为无线路由器
  • 原文地址:https://www.cnblogs.com/lhm-/p/13863516.html
Copyright © 2011-2022 走看看