• 省选模拟48


    T1.

      前缀的最长公共后缀就是两个长度在sam上对应的节点的lca的len,所以可以对于每个lca考虑。

      在每个lca处考虑当前长度的贡献,发现最优秀的解一定发生在两个相邻的下标之间。

      所以直接启发式合并,然后离线处理询问就行了。

    T2.

      可以发现题目中对于点的要求就是重心。

      也就是说,一个点不能有大小大于$n/2$的子树,可以发现这样的子树一定在重心方向。

      然后可以发现,删掉这个点到重心路径上的点一定是无效的,因为剩余子树大小仍然大于$n/2$。

      所以删掉的边只可能是重心周围的边,那么只要贪心选取大小最大的子树即可。

    T3.

      可以发现对于环中的点只要确定一个点就可以确定剩余所有点。

      所以只要找到所有环对于每个环定向就行了。

      然而直接跑会死。考虑对于大小为2的环,最优解显然是左括号在前,所以最小环的大小是4,总复杂度就合法了。

  • 相关阅读:
    这是另外一篇
    使用客户端写博客
    vim编码相关配置
    给eclipse装一些插件
    手机型号收集
    解决黑苹果与windows时区不一致
    记录一些在VPS上折腾的东西
    一个获取文件绝对路径的sh
    python批量GBK转UTF-8
    用NDK编译lua库
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12513529.html
Copyright © 2020-2023  润新知