zoukankan      html  css  js  c++  java
  • 模拟113 题解

    A. ZYB建围墙

    手玩发现这个东西好像有一点规律。

    考虑在最优的方案下,每增加一个点对答案的贡献$0/1$,然后随便写写就好了。

    B. ZYB和售货机

    把$x$向$x$能偷的节点建边。

    发现这个东西一定会形成森林,

    其中一些树为基环树,其余为普通形态的树。

    对于普通形态的树,显然可以赚到其中所有能赚的钱。

    但基环树对应着不能从环上一个节点偷另一个节点。

    维护偷每个点的最小方案和次小方案,然后枚举环上节点就好了。

    C. ZYB玩字符串

    因为最终插入了一个字符串$p$,字符串$p$一定可以表示为$s$的一个子串。

    所以可以枚举$s$的字串。

    贪心地直接匹配后删掉的做法是错误的,可以被很简单的数据卡掉。

    然后发现这个东西好像有点像括号匹配,然而字符可以多次出现,于是无从下手。

    正解用了一个很优秀的$dp$。

    设$dp_{l,r}$表示区间$[l,r]$能否被若干个字符串$p$拼凑出来。

    如果$|p|$不被$r-l+1$整除,那么还表示最后能否又拼出$p$的一段前缀。

    这个$dp$设计的优秀之处在于当区间长度确定,拓展出现的单个字符对应$p$中位置也是确定的。

    分两种情况转移:

    由一个字符拓展,对应着最后拼出来的一段的一个。

    由若干个$p$拓展,这个过程通过记忆化递归处理。

  • 相关阅读:
    Weebly轻松创建个人网站
    人生如游戏
    1 欧拉角与四元数计算机动画笔记
    图形学相关的一些数学基础书
    1047 Student List for Course (25 分)
    1124 Raffle for Weibo Followers (20 分)
    1065 A+B and C (64bit) (20 分)
    1036 Boys vs Girls (25 分)
    1039 Course List for Student (25 分)
    1054 The Dominant Color (20 分)
  • 原文地址:https://www.cnblogs.com/skyh/p/11850569.html
Copyright © 2011-2022 走看看