• Codeforces Round #310 (Div. 2)


    A. Case of the Zeros and Ones

    Andrewid 允许同时删除一个仅由'0','1'组成的字符串中的'0','1',问你Andrewid 最终能得到一个最短的字符串的长度是多少。

    ans = min(cnt('0'), cnt('1'));

    B. Case of Fake Numbers

    Andrewid有一排齿轮,相邻的齿轮靠在一起,其旋转方向相反。每次Andrewid能拨动齿轮转动一次,齿轮上有0~n-1的值,其中有个 active的值表示当前齿轮的值a[i],现在给出一排n个齿轮的当前值,问你是否能够转到n个齿轮按顺序排成(0, 1, 2, ...., n-1);

    k = n-a[i] 得出总共要转多少下,(n + a[i] + flag * k) % n == i 判断每个位置是否转到真确位置。

    flag表示当前转的方向顺时针为1,逆时针为-1。

    C. Case of Matryoshkas

    Andrewid 有n个娃娃,标号为1~n,小的标号的娃娃可以套在大的里面,每一秒可以把一个娃娃套在另一个娃娃上,也可以把一个娃娃拿出来,现在套好了k堆,要你用最小的时间吧这n个娃娃套在一起。

    从1开始连续地数直到s后不连续了, 计算公式 (n-s) * 2 - (k-1) ,也就是说剩下的(n-s)个娃娃都要从原来的套好的堆中拆下来,并套回以1为开始的堆中。这样有两步操作,但是每堆中m个娃娃,拆完m-1个后剩下的那个便不用再拆一次了,于是减去(k-1).

  • 相关阅读:
    Codeforces Round #171 (Div. 2)
    ACdream 1079 郭式树
    HDOJ 1517 博弈论
    ACdream 1080 面面数
    博弈论 Nim 博弈
    Codeforces Round #172 (Div. 2)
    ACdream 1084 同心树
    STL bitset
    博弈论 bash博弈
    POJ 3261 后缀数组
  • 原文地址:https://www.cnblogs.com/xuelanghu/p/4608261.html
Copyright © 2020-2023  润新知