zoukankan      html  css  js  c++  java
  • AGC040

    A

    对于一个 >< 设为 (0),然后其他设成两边距离较大值即可。

    B

    先按照 (r) 排序,当有一边的答案为空集的时候答案是最长线段的长度,否则答案可以描述成 (r_{min}-l_{max}),注意到 (r) 最小值会作为某个集合的 (r_{min}),枚举另一个集合的 (r_{min}) 设为 (r'),然后将 (rsim r') 之间的 (l) 都丢到 (r) 处,剩余的如果满足存在 (rle lle r') 则丢给 (r'),然后处理完之后其余 (l) 往其中一边 (r'/r) (对应 (l) 较大的一边)丢即可。

    C

    首先黑白染色,把偶数位上的 A 变为 B,B 变为 A,会发现原问题变为每次你可以删除一个非 AA 或 BB 的串。

    然后显然的结论是只要 A 和 B 的数量分别不比 (frac{n}{2}) 大即可。这样容斥计算答案的话只有一种可能超出,减掉即可。复杂度 (mathcal O(n))

    D

    显然有一个前缀会满足 Alice 能够抓到 Bob,接着我们不妨假装我们二分了一个整数位置 (x) 且 Alice 希望他能够抓到 Bob,那么 (x) 之前的石板仅有 (A) 有贡献,而之后的石板,对于答案的贡献仅关乎 (B-A)

    (F)(sum max(B-A,0)),则简单讨论可以发现每次将一个数放到前面的时候会令 (F) 减去 (max(A,B)),我们按照此值排序,可以确定 (x)

    考虑确定小数部分,讨论第 (x+1) 位放入的石板是 (A-B) 为正还是 (B-A) 为正并分别算出贡献即可,具体实现上需要分类讨论这一位放入的数是否排名为前 (x+1) 大。复杂度 (mathcal O(nlog n))

    E

    考虑只有操作 1 的情况下答案是 (sum [a_i<a_{i+1}])(开头结尾补 0),然后考虑添加操作 2,可以发现某类操作相交的 Part 可以调整掉,于是问题等价于将原序列拆分为 (a_i+b_i=c_i) 最小化 (sum [a_i<a_{i+1}]+sum [b_i>b_{i+1}])

    我们考虑设 (f_{i,j}) 表示 (a_i=j) 的情况下的答案,直接做复杂度为 (mathcal O(nw))

    我们的一个观察是 (a_i) 越大往后转移越优,而相应的其 (f_i) 显然也更大。但不难发现 (f_{i,0}+2ge f_{i,A_i}),因此我们只需要维护拐点即可。复杂度 (mathcal O(n))

    F

    先转换一下,考虑二元组 ((j,d)) 描述了 (j,j-i) 的值,那么操作改为:

    1. (j+1)(d+1)
    2. (d=0)
    3. (dge 2,dleftarrow d-1)

    我们考虑只有操作 1,3 的情况下进行计数与卡特兰数的计算是几乎一致的(只需要保证 (dge 1) 即可)

    而对于任意一个合法的操作序列,删去所有操作 2 都仍然是合法的。

    我们考虑如何给这些操作插入 2 操作,我们可以观察到,如果某个点之后的所有 (d_i)严格大于此处的 (d_i) 那么这里就可以插入 2 操作(如果相等那么某一步操作将转换为操作 2,与我们仅考虑操作 1,3 是矛盾的)。

    我们接着考虑设操作 3 进行了 (K) 次,首先操作 (1) 的次数确定为 (B) 次,我们需要到达 ((B,B-A)) 的位置,那么最后一次设插在 ((x,y)) 处,则此时进行了 (x-y) 次操作 3,那么就有最终的位置 (y'=B-A=B-x-(K-(x-y)))(A=y+K o y=A-K),即纵坐标固定。

    我们知道我们最终到达的坐标为 ((B,B-K)),一个观察是 (0sim B-K) 中的每个纵坐标都应当出现至少一次,那么对于每个坐标,我们找到其最后出现的位置,这个位置就是能够任意插入操作 2 的位置。

    于是这种合法的位置必然有 (A-K+1) 个,使用插板法计算答案即可。

    复杂度 (mathcal O(n))

  • 相关阅读:
    core dump的使用
    wav文件格式
    Unicode编码 【转】
    WAV格式中常见的压缩编码
    两台交换机级联端口mac地址表维护(转载)
    pthread_cond_wait()的使用方法
    makefile自动依赖[转]
    11月的第一天
    再读simpledb 之 事务管理的实现(3)
    再读simpledb 之 元数据管理(1)
  • 原文地址:https://www.cnblogs.com/Soulist/p/14920568.html
Copyright © 2011-2022 走看看