• 洛谷 P7108 移花接木


    洛谷 P7108 移花接木

    洛谷传送门

    题目背景

    遥远的圣地生长着一棵不为人知的灵树,或有万山之高。

    但有一日,藏匿于根系的腐朽力量爆发,灵树已无法支撑往日屹立冲天的高度。

    题目描述

    灵树最初的形态可以看作一棵高度为 {10}{{10}{{10}^{10}}}10101010 的满 aa 叉树,高度定义为根结点到叶子结点之间的边数。

    受腐朽力量影响,灵树只能维持高度恰好为 hh 的满 bb 叉树形态。为了转换至该形态,灵树有两种魔法:

    • 移花:选择一条边 u o vuv(uu 是 vv 的父结点),移除这条边以及以 vv 为根的整棵子树
    • 接木:选择一条边 u o vuv(uu 是 vv 的父结点)和一个结点 ww(ww 不能是 vv 子树中或已移除的结点),将这条边原先 uu 一端改接到 ww该魔法只能在根结点到 oldsymbol{u}u 之间的边数 le 10{10{10}}≤101010 时使用。

    灵树累积的魔法力量有限,它不得不用最少次数的魔法完成转换。这是个漫长的过程,即使次数最少也会显得异常大,你只需要求出最少次数对 10^9 + 7109+7 取模的结果。

    输入格式

    输入首行给定数据组数 TT

    接下来 TT 行,每行包含三个整数 a,b,ha,b,h,表示一组数据。

    输出格式

    对于每组数据输出一行一个整数,表示该数据的答案对 10^9 + 7109+7 取模的结果。


    题解:

    一道推性质的题。其实贪心的意味没那么浓重,还是推导。

    但是挂成了30分。

    细细思考,原来是特殊情况没有判,比如a=1,b=1,h=0,a=b。这些情况是不一定符合推出来的三种性质的,这样的情况也要写上去。

    启示:一定要好好看题,推完结论之后验完普遍性还要验特殊性。

  • 相关阅读:
    支付平台架构
    进程、线程与协程
    WSGI
    TLS(SSL)
    Python logger
    Jedis操作Redis--Hash类型
    Jedis操作Redis--List类型
    Jedis操作Redis--String类型
    SpringMVC整合Apache Shiro
    JDK中的Proxy技术实现AOP功能
  • 原文地址:https://www.cnblogs.com/fusiwei/p/14060137.html
Copyright © 2020-2023  润新知