zoukankan      html  css  js  c++  java
  • [vp]CF1536(div2)

    https://codeforces.com/contest/1536

    (A:)

    有负数时无解,观察到(a leq 100)(k leq 300)
    输出(0)~(100)的整数即可。

    (B:)

    因为(n leq 1000),字母是(a)~(z),所以字符串的(mex)最多为(3),且字典序还很小
    按字典序从小到大枚举(mex)字符串(或搜索),字符串(hash)检验。

    (C:)

    如果两段连续的比值相同,那么两段合起来比值也相同。
    (f_i)为前缀(i)的答案。
    (f_i = max{ f_j }+1~(g(1,j)=g(j+1,i)))
    查最大的二元组的值,用(map)维护。

    (D:)

    根据常识,每加两个数,中位数至多移动一个位置。
    那么对于目前的中位数(x)和上次的中位数(y)
    我们只需要判断值域(x)~(y)中有没有出现过其他数就好了。
    这个可以用很多不同数据结构维护,
    还有一个问题,每次我们要插入两个数,但我们只考虑了当前的(b_i)
    因为(a_i)的值域是无穷大,只要看成插入一个极大或极小值就好了,根据决策包容性,这样想是对的

    (E:)

    结论:我们选择一些 "#" 为0时,那么整个方格的权值就确定了。
    题目的约束条件容易让人想到(bfs),我们想象从每一堆(0) bfs,
    那么所覆盖的区域就是确定的。(每次只能(+1))。
    答案就是(2^k)((k)表示#的数量),如果全是#要(-1)

    (F:)

    结论:后手必胜。自证不难。
    根据结论,最后的棋子个数是偶数。
    并且是(BR)(RB)交错的形式,中间有一些空格,用插板法计数。
    对于一个有(k)个棋子的局势,有(k!)种顺序导出。
    因为是环,考虑起始位置填还是不填。
    所以最后的答案为:

    (2 imes sum_{k|2}^{n} k!(C_{n-k-1}^{k-1}+C_{n-k}^{k}))

  • 相关阅读:
    linux下导入、导出mysql 数据库命令
    MapReduce工作原理(简单实例)
    BloomFilter ——大规模数据处理利器
    huawei机试题目
    二叉树操作集锦
    表达式计算的中序转后序
    用 JavaScript 修改样式元素
    网页中的表单元素
    使用网络字体作为矢量图标
    CSS 的 appearance 属性
  • 原文地址:https://www.cnblogs.com/Xxhdjr/p/14863478.html
Copyright © 2011-2022 走看看