• 「考试」省选63


    这场好郁闷啊。
    T1,T3太简单,T2太难。。

    T1
    (dy)讲的原题。
    直接用容斥来做。
    只需要求出三个二位偏序即可。

    T2
    比较帅的(LCT+PAM)
    我们考虑过程中出现的所有的回文串。
    其实是两个最大的被原串包含着的回文串所代表节点路径上的(cnt*len)的和。
    这样我们用一个(LCT)来解决。
    建处正反两个(PAM),然后我们发现(LCT)的节点上的所有的节点的值都可以由(len)来控制。
    如果是还没有出现的节点,我们让他的(len)为0即可。
    然后不断地加入点,操作某一个点到根的路径上(cnt+1),这样就可以了。
    查询的时候用一个倍增,找到最相近的那个回文串的代表节点,然后求(LCA)(LCT)维护答案即可。
    发现有时候(LCA)不做贡献。
    就是说奇偶性上发生了问题,如果我们更靠前的串已经是相同的话,我们就没有必要再走到(LCA)的位置,减去其贡献即可。

    T3
    阶梯(NIM)博弈的模板。
    我们把节点的权值改成:

    [w_x=a_x-sumlimits_{cinch(x)}a_cb_c ]

    然后发现从一个地方拿掉权值相当于在其父亲上加上权值。
    于是乎相当于是一个阶梯(NIM)博弈。
    那么对所有奇数层的节点的权值求一个(xor)和即可。
    注意特判(b=0)的情况为新树。

  • 相关阅读:
    背包问题
    计蒜客lev3
    线段树BIT操作总结
    图论题收集
    Codeforces Round #607 (Div. 2) 训练总结及A-F题解
    2-sat 学习笔记
    洛谷 P3338 【ZJOI2014】力/BZOJ 3527 力 题解
    $noi.ac$ #51 array 题解
    洛谷 P3292 【SCOI2016】幸运数字/BZOJ 4568 幸运数字 题解
    洛谷 P5283 【十二省联考2019】异或粽子 题解
  • 原文地址:https://www.cnblogs.com/Lrefrain/p/12638545.html
Copyright © 2020-2023  润新知