zoukankan      html  css  js  c++  java
  • Codeforces Round #692 Div1

    A

    首先忽略初始在对角线上的点
    答案的下界显然为现在的点数

    考虑对于对角线((i,i)),在第(i)行出现的与在第(i)列出现的点连边
    容易得到答案的下界为:点数+环的个数

    容易证明

    B

    结论:最后填数一定是某个前缀填(0),剩下的填(1),或前缀填(1),剩下的填(0)

    证明:
    考虑两个位置(0,1),交换后发现01与10的数量不变

    C

    结论:当(nge 2)(n-1)最后的符号一定是(-)(n)最后的符号一定是(+),其他位置符号任意

    证明:
    对于----+???-+这种情况,显然左边的-是可以全部实现的
    于是我们考虑+????-+是否能被构造出来
    我们找到最靠右的一个-,使得前面为+(-可以是(n-1)
    考虑+????+---+,看成两段(+????+-)(--+)
    由于左边要取反使得上我们要构造(取反)(不取反)这两段
    发现这两段最后两个元素均为-+,通过归纳可以证明结论

    然后题目转化成了给一些二的次幂前填+/-的系数,问能否凑出(N)
    可以考虑从大到小考虑二的次幂,让(N)的绝对值最小

    正确性:
    (|x|le |y|),如果(y)可行,可以通过调整法证明(x)也可行

    D

    第一问是个经典小学奥数题:

    • (n=1)(1)
    • (n\%3=0)(3,3,3,cdots,3)
    • (n\%3=1)(3,3,3,cdots,3,2,2)(3,3,3,cdots,3,4)
    • (n\%3=2)(3,3,3,cdots,2)

    以下讨论(nge 2)

    下面考虑最小操作数
    为了方便,我们先将环全部拆开,再全部合并,这样不影响操作

    观察:大于(4)的环我们会反复将其分离出一个(3)的环,直到其长度(le 4)

    特殊情况,(n=4)时可能拆(3),容易证明其他情况的(3)环我们都不会动

    那么现在我们有(1)环、(2)环、(4)

    我们分类讨论哪些拼成非(3)环的那部分,其他的都拼成(3)

    下面将一下代码怎么写比较简单
    容易发现在非(3)环拼完后,这时(4)环我们均会拆成(1,3)
    那么我们仅需讨论(1,2)环怎么拼成若干(3)环,我们单独写一个函数query(c1,c2)来解决此问题

    具体可以看下代码

    E

    (c_i)为sg值等于(i)的点个数,用异或卷积定义乘法
    显然答案为:

    [frac{1}{n+1}sumlimits_{i=0}^{infty} frac{c^k}{(n+1)^k}=frac{1}{n+1}cdot frac{1}{1-c/(n+1)} ]

    可通过fwt实现

    F

    定义:对于路径(u,v),令(key(u,v)=lca(u,v))。对于路径集合(P),令(key(P))(key(u,v))深度最大的点。
    定义:令(up(u,d))(u)往根跳(d)步的点,若不存在令(up(u,d))为根

    结论1:对于集合(P),若(d)邻域有交集,则包含(up(key(P),d))

    证明:
    (x=up(key(P),d))
    首先(key(P))(x)子树内的路径显然(d)邻域包含(x)
    (key(P))不在(x)子树内的路径(d)邻域不包含(x),则显然整条路径均不在(x)子树内,容易证明必定无交

    (key(P))容易维护
    (x=up(key(P),d))
    于是我们将问题转化为:

    询问一个点(x)是否存在于每条路径的(d)邻域

    (K=up(x,d))

    结论2:对于集合(P),若(d)邻域包含(x),必要条件是每条路径至少存在一个端点在(K)子树内

    证明显然

    具体来讲,结论2是在处理(key(u,v))不在(K)子树的路径是否均合法(路径经过(K)
    现在是要讨论(key(u,v))(K)子树内的路径集合是否合法

    结论3:对于(key(u,v))(K)子树内的路径,该路径(d)邻域包含(x)的充要条件为(key(u,v))(K)的距离(le d)

    证明:
    对于(key(u,v))(x-K)路径上的情况,显然(d)邻域包含(x)
    其他情况,路径(u,v)距离(x)的最短路径等于(key(u,v))(x)的距离

    我们将问题转化为:

    (K)子树中的有效点是否离(x)距离均(le d)

    这是一个经典问题,可以用线段树维护树的直径
    (O(nlogn+qlogn))

  • 相关阅读:
    【流量劫持】SSLStrip 终极版 —— location 瞒天过海
    【流量劫持】沉默中的狂怒 —— Cookie 大喷发
    【流量劫持】SSLStrip 的未来 —— HTTPS 前端劫持
    Web 前端攻防(2014版)
    流量劫持 —— 浮层登录框的隐患
    流量劫持能有多大危害?
    流量劫持是如何产生的?
    XSS 前端防火墙 —— 整装待发
    XSS 前端防火墙 —— 天衣无缝的防护
    XSS 前端防火墙 —— 无懈可击的钩子
  • 原文地址:https://www.cnblogs.com/Grice/p/14170116.html
Copyright © 2011-2022 走看看