zoukankan      html  css  js  c++  java
  • Codeforces Round #586

    Contest Info


    [Practice Link](https://codeforc.es/contest/1207)
    Solved A B C D E F G
    4/7 O O O Ø - - -
    • O 在比赛中通过
    • Ø 赛后通过
    • ! 尝试了但是失败了
    • - 没有尝试

    A. Cards

    签到。

    B. Multiplication Table

    题意:
    给出一个(n cdot n)的矩阵,(a_{i, j} = b_i cdot b_j),现在告诉你(a_{i, j}(i eq j)),要你还原出(b_i)

    思路:
    考虑(a_{1, 2} cdots a_{1, n}),我们发现(b_1)肯定是这些数的(gcd)的因数,那么枚举因数,(n^2)判断即可

    C. Substring Game in the Lesson

    题意:
    给出一个字符串,问你刚开始有个子串(S[l, r]),现在要求找一个(l' leq l, r' geq r),使得(S[l', r'])的字典序小于(S[l, r])
    两个人轮流操作,谁不能操作谁输,问两个人最优操作下,对于每个(i)(l = r = i),谁会胜利?

    思路:
    显然,如果可以找到一个(l', r'),那么我们肯定可以找到最左的(l'),使得下一个人没办法操作。
    现在(l = r = i),如果存在字典许比它小的,显然是第一个字母就比(S_i)小。
    那么问题转化成,对于每个(i),是否存在一个(j(j < i))并且(S_j < S_i)

    D. Alex and Julian

    题意:
    有一个集合(B),以及所有的整数组成的点,对于一个整数(i),那么该点的标号为(i),现在如果两个点(i, j)满足(|i - j| in B),那么(i, j)之间有一条无向边。
    问至少删去(B)中多少个数,使得所有点按要求连完边之后该图是一个二分图。

    思路:

    • 没有奇圈的图是一个二分图

    考虑(x, y),假设从(1)出发,往后连边,那么他们相遇的点是(lcm(x, y) + 1),那么这个环的边数是:

    [egin{eqnarray*} frac{lcm(x, y)}{x} + frac{lcm(x, y)}{y} = frac{x}{gcd(x, y)} + frac{y}{gcd(x, y)} end{eqnarray*} ]

    我们发现要使得这个式子不能为奇数,那么显然有偶加偶或者奇+奇。
    我们考虑先将两个数都尽可能除(2),直到这两个数的公约数中没有(2)为止。
    然后再来判断,那么现在至少有一个数是奇数,假设为(x),那么剩下的公约数肯定是个奇数。
    那么考虑剩下的(x, y)

    • 如果(x, y)都是奇数,那么除掉一个奇数后还是奇数。
    • 如果只有一个是奇数,那么偶数的那个除掉一个奇数还是偶数,奇数那个除掉奇数还是奇数,那么就是奇 + 偶 = 奇,不合法

    所以所有可以共存的数必然满足他们的最低二进制位一样。

  • 相关阅读:
    第八周上机
    第七周作业
    第七周上机练习
    第六周作业
    第六次上机
    第五次上机
    第四周作业
    第四周上机练习
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/Dup4/p/11552923.html
Copyright © 2011-2022 走看看