zoukankan      html  css  js  c++  java
  • 省选模拟48

    T1.

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

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

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

    T2.

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

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

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

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

    T3.

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

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

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

  • 相关阅读:
    第一周博客作业(学习历程和感想)
    WordCount 基础功能
    MyBatis 分页插件 PageHelper 使用
    手机尾号猜年龄骗局解密
    逻辑思维题一
    给div添加滚动条
    my97中文乱码问题
    cookie中文乱码
    多线程下的单例模式
    HTML5的入门与深入理解
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12513529.html
Copyright © 2011-2022 走看看