zoukankan      html  css  js  c++  java
  • 集训Day7

    在做过的试题里ran的...发现之前做的题有些已经生疏了

    bzoj3626 LCA

    一棵树,每次询问在$[l,r]$区间内的每个节点$i$与$z$的最近公共祖先的深度之和

    假的LCA

    有一个很平凡的想法是,如果你把x到root这条路径都赋值为1,那$DEPTH_{lca(x,y)}$就是y到root的边权和

    我们离线操作

    从1到n每个点做一次上述的赋值1+查询的操作就可以了

    同时我们注意到$[l,r]$实质上可以化为两个前缀之差

    于是这题就做完了

    bzoj2946

    给你5个串,求他们的最长公共子序列

    串长不超过2000

    建出第一个串的SAM,后面几个串依次在上面跑,一个串的len取max,五个串的len取min就可以了

    bzoj2724(我为什么会ran到这道题

    强制在线区间众数

    分块,我们用$ZS_{i,j}$表示第i块到第j块的众数

    然后注意到我们查找一个数在一个区间里出现次数只用把序列按权值和位置两个关键字排序然后二分查找

    这样我们对于完整的块直接询问

    不完整的块暴力二分

    预处理众数...yy一下就可以了

  • 相关阅读:
    linux uniq 命令实用手册
    linux sort 命令实用手册
    linux awk 命令实用手册
    如何高效使用vim
    15个有趣好玩的linux shell 命令
    一篇文章带你编写10种语言HelloWorld
    如何用hugo 搭建博客
    c++中的exit()
    枚举数据类型C++
    常见的字符测试函数
  • 原文地址:https://www.cnblogs.com/Kong-Ruo/p/9201294.html
Copyright © 2011-2022 走看看