• Codeforces Round #754 (Div. 2)


    solved:3/6

    A:

      答案要么是1, 要么是0, 也挺好证, 那个加和减本质上是对总和+3或-3, 所以答案肯定是0,1,2这三个, 考虑到|2-3=-1|=1, 所以答案是1或者0

    B:

      如果序列排好肯定是0000111这种形态, 我们把原本站错位置的1和0提出来(假设有m个1和n-m个0), 那么前n-m位中的1都是站错位的, 后m位中的0都是站错位的, 把这些提出来就行了, 最多排一次。

    C:

      容易这么猜想, 两个a中间夹着b和c, 那么有aa, aba, aca, abca, acba四种情况

      然后可以发现还有另外两种情况, abbacca, accabba是满足a的数量严格比b,c大的

      


    补题 1/3

    D:

      u xor v<=min(u, v)的条件是u的二进制最高位=v的最高位的二进制最高位

      存在一种这样的构造方案(正确性在构造方案中可以看出), 使得每一个点都是必胜点(无法往外走)

      也就是对于每个点, 都引向与最高位不同的点。

      如何构造? 我们发现从树根开始黑白染色之后, 只要保证不同颜色的最高位都不相同即可。

      假设最终有w个白色, n-w个黑色。  

      可以发现按min(w, n-w)的二进制来拆分, 总能分配完, 不会出现某一位分配不完的情况

      因为min(w, n-w)<=n/2, 所以对于log2(n)那一位是完全分配不到的。 其他的位每一个都是满的。

      

      

  • 相关阅读:
    快速创建一个 Servlet 项目(1)
    快速创建一个 Servlet 项目(2)
    多级派生情况下派生类的构造函数
    最近看了点C++,分享一下我的进度吧!
    进程同步&进程间通信
    multiprocess模块
    进程
    网络编程之socket
    网络通信原理
    网络通信的流程 | 初始socket
  • 原文地址:https://www.cnblogs.com/gllonkxc/p/15569448.html
Copyright © 2020-2023  润新知