zoukankan      html  css  js  c++  java
  • Codeforces Round #684 (Div. 1)

    场上在意识到B会带一个log时果断弃掉去开C,事后证明这是个明智的选择

    A

    顺序填,转化为处理(2 imes 2)的情况,手玩一下能很简单推出

    B

    每次删掉度数最小的点删掉,若其(ge K)的点可以判断情况(1)
    对于找到(K)的团,按上面删的同时,若度数最小的点度数为(k-1)可以把这(k)个点拉出来判断一下,用map来判断邻边
    度数(ge k-1)的点有(O(frac{m}{k}))个,每次判断时间复杂度为(O(k^2logn))
    总复杂度(O(mklogn)),观察到有效的(k)(O(sqrt{m}))级别的

    C

    观察1:操作1影响的是一段连续区域,产生的效果是赋值
    观察2:操作二只会选取(O(logV))段区间消费
    以上操作均可用线段树维护,时间复杂度(O(nlognlogV))

    D

    (dp1_{i})(i)个座位(i)个人的合法方案数,考虑枚举最后一个人的座位,发现两边的位置的转移是独立的

    [dp1_{i}=sumlimits_{j=1}^i [j+(i-j+1)]{i-1choose j-1}dp1_{j-1}dp1_{i-j} ]

    (dp2_i)(i)个座位(i)个人的合法方案的疯狂程度之和,考虑枚举最后一个人的座位,单独算其疯狂度,前(i-1)个人的疯狂度考虑增量

    [dp2_{i}=sumlimits_{j=1}^i ({jchoose 2}+{i-jchoose 2}){i-1choose j-1}dp1_{j-1}dp1_{i-j}+[j+(i-j+1)]{i-1choose j-1}(dp2_{j-1}dp1_{i-j}+dp2_{i-j}dp1_{j-1}) ]

    (dp3_{i,j}(i>j))(i)个座位(j)个人的合法方案数,考虑枚举最长的全部被占用的后缀长度(l)
    (l=0),则方案数为(dp3_{i-1,j});否则,由于第(n-l)个座位是空的,所以两边的位置也是独立的

    [dp3_{i,j}=dp3_{i-1,j}+sumlimits_{l=1}^j {jchoose l}dp3_{i-l-1,j-l}cdot dp1_{l} ]

    (dp4_{i,j}(i>j))(i)个座位(j)个人的合法方案的疯狂程度之和

    [dp4_{i,j}=dp4_{i-1,j}+sumlimits_{l=1}^j {jchoose l}(dp4_{i-1-l,j-l}cdot dp1_{l}+dp3_{i-1-l,j-l}dp2_l) ]

    实际上,这个问题可以做到(O(nlogn)),但是parking and tree这套理论我不太懂,所以暂时先咕了

    E

    结论0:将有效点看作节点,两点之间有边的充要条件为两点均为有效点且相邻。那么图构成了一棵树。

    证明:
    对于有效点((0,?),(?,0))这类的点,会形成一个边框框柱上边界与左边界
    对于有效点((x,y)(x,yge 1)),考虑最低的(1),易得((x-1,y)(x,y-1))有且仅有一个点有效

    结论1:令点((0,0))的深度为(0),有效点((x,y))的深度为(x+y)

    根据上面的证明易得

    容易发现这是翻硬币游戏的拓展版本
    考虑单个点的SG函数
    结论2:有效点((x,y))的SG函数等于(2^{dep})

    对深度施归纳易得

    那么对深度为(dep)的点操作一次,等价于游戏的SG函数异或上(2^{dep+1}-1)
    可以发现最小操作次数就是游戏的SG函数,在二进制下的段数

    对于(x_1,y_1,x_2,y_2)所造成的影响一定是一段连续区间为(1),可以通过求lca判断
    如何求lca呢?通过结论1的证明能发现,每次往上爬是不断对最低位(1)最小的一维(-1)
    通过对位处理,可以(O(logV))求得lca

    终于更完了,撒花✿✿ヽ(°▽°)ノ✿
    吐槽一下官方题解比我更都慢...

  • 相关阅读:
    vue相关ajax库的使用
    vue-router核心概念
    Vue.js核心概念
    vue核心概念
    SQL 的各种 JOIN 用法
    应用Itextsharp 添加图片到pdf
    MVC区域路由设置
    LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
    使用命令行执行.sql文件
    MVC异常捕获处理,FilterConfig
  • 原文地址:https://www.cnblogs.com/Grice/p/14000817.html
Copyright © 2011-2022 走看看