zoukankan      html  css  js  c++  java
  • (Incomplete) Codeforces #395 (Div 1 + Div 2)

    A. Taymyr is calling you

    数据比较小,可以枚举每一次call的时间i*n, 然后检查 (i*n) % m 是否为0。如果为0,则答案加一。这种方法不需要想太多也不需要写太多。

    数学上分析,答案为 z/lcm(n, m)。 lcm(n, m) 为n和m的最小公倍数,lcm(n, m) = n*m/gcd(n,m)。

    B. Timofey and cubes

    观察得出,对于前一半元素,每个位于奇数位的元素都和他对称位置上的元素交换(元素从1开始数,1-based,not 0-based)。

    C. Timofey and a tree

    可以想到,如果一条边上两个点的颜色不一样,那么这两个点中必有一个可以当作root,或者无解。因为如果不从两个点中取root,那么这条边一定在一个subtree里,继而这个subtree里有两个颜色不同的点,无解。所以我们遍历每条边,如果所有边的两个点颜色都一样,那么有解,任意一个点都可以当作root;如果找出一条端点颜色不同的边,我们就分别试一下它们能否当作root。如果至少有一个可行,就输出解,否则无解。测试是否能当root的方法只需dfs各个子树就好。

    D. Timofey and rectangles

    这道题给我们的直觉是一定存在解(4 color theorem)。题目中给出了重要的提示,所有长方形的边都是奇数。那么可以想到,对于两个相邻的长方形,它们右下角的点(x0,y0) and (x1, y1), 必然有 x0%2 != x1%2 或者 y0%2 != y1%2,因为他们的y和x坐标中的至少一个差了一个边长的单位(奇数长度)。所以,如果两个长方形右下角的点,x坐标的奇偶性相同,y坐标的奇偶性也相同,那么这两个长方形一定不会相邻。所以对于一个右下角为(x,y)的长方形,只需让他的颜色为(x%2)*2+y%2+1 就可以了。

    E. Timofey

  • 相关阅读:
    maven安装与配置
    git客户端安装
    linux-更改文件属性-chattr与lsattr
    乐观锁-version的使用
    Project 專業名詞
    從 kernel source code 查出 版本號碼
    Bit banging
    Push pull, open drain circuit, pull up, pull down resistor
    Current Sourcing (拉電流) and Current Sinking(灌電流)
    學習 DT device tree 以 ST 的開發板 STM32F429i-disc1 為例
  • 原文地址:https://www.cnblogs.com/skyette/p/6363872.html
Copyright © 2011-2022 走看看