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

    T1:
    设计f[i]表示乘积为i的子集有多少个,对于数x来说只能转移其倍数的位置
    把相同的数放在一起考虑,就可以把复杂度降到(O(n+klnk))
    正解是洲阁筛,不会。。。

    T2:
    显然给的是一棵字典树,那么LCS长度就是dep[lca(u,v)]
    对于LCP,可以建出广义SAM,然后LCP的长度就是len[SAM_lca(u,v)]
    如果按照parent树的dfs序将点插入线段树,那么显然相邻的点的LCP最大
    那么就在原树上线段树合并就完了

    T3:
    只需要动态维护元素的大小关系就行了
    考虑用两棵平衡树,元素分别为x和(x,y)
    第一棵用来查排名,第二棵用来计算新节点的排名
    复杂度(O(nlog^2n))
    感觉如果用重量平衡树维护double权值的话应该能做到(O(nlogn))(类似后缀平衡树的想法)

  • 相关阅读:
    hdu 4577 X-Boxes 大数
    hdu 4576 Robot 概率DP
    将IP地址转化为整数
    MyISAM压缩表
    yii2 模态框
    MySQL数据库设计
    foreach循环赋值问题
    实用的网站
    判断链接地址是否有效
    tp5获取配置文件信息
  • 原文地址:https://www.cnblogs.com/Gkeng/p/12730065.html
Copyright © 2011-2022 走看看