zoukankan      html  css  js  c++  java
  • June Cook-Off 2021 Division 1

    BNSONSTR

    BTTLRYL

    (g_{i,j}) 表示还没死的已经处理过了的有 (i) 人,还没死且还没被遍历的有 (j) 人。分情况转移即可。

    GRAND

    暴力的dp (O(n^2k)) 显然。考虑有用的转移 ((i,j)) 在随机情况下只有 (nlog n) 对,可以用线段树找到这些位置,复杂度为 (O(knlog n+nlog^2n))。再根据随机的性质,对每个位置并不需要记录所有的 (k),考虑若平均分配,(i) 前面有 (frac{ik}{n}) 段,那么只需处理 (frac{ik}{n}±B) 范围内的答案 。(B) 取个 (150) 差不多了。(O(Bnlog n+nlog^2n))

    CLAMPWAY

    建出两棵树 (T1,T2)。在 (T1) 中,(forall u,vin subtree(u)),在原树上 (path(u,v)) 上的所有点都 (ge u);在 (T2) 则把 (ge) 改成 (le)。若建出了这两棵树,合法的 ((u,v)) 满足在一棵树中 (uin subtree(v)),另一棵中 (vin subtree(u)),用数据结构简单统计

    暴力建树(以 (T1) 为例):类似点分治的过程,现在整棵树中找到最小的点为根,然后删除这个点,在剩下的若干子树中分别找到最小点作为根的儿子并删除,往下递归.....复杂度可至 (O(n^2)),或许可用数据结构优化?考虑优化,进行类似上述操作的逆过程:倒叙枚举 (u),枚举所有边 ((u,v)),若 (v>u),则连边 ((u,find(v))),并在并查集中赋值 (fa[find(v)]=u)。总复杂度 (O(nlog n))

  • 相关阅读:
    贪心——poj百炼3468:电池寿命
    贪心——部分背包
    C++编程规范
    调和级数求和
    人工神经网络
    Latex各种符号
    poj1088 滑雪,dp
    数据挖掘建模过程
    Java MyEclipse:The type java.lang.CharSequence cannot be resolved. It is indirectly referen
    Java调用阿里云短信接口发送手机验证码
  • 原文地址:https://www.cnblogs.com/whx666/p/15092733.html
Copyright © 2011-2022 走看看