• (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

  • 相关阅读:
    Python利用Remove.bg接口自动消除图片背景
    解决ajxa跨域问题
    CentOS7 修改静态IP
    CentOS下 安装composer 与tp5.1
    centon 安装php-fpm+Nginx
    win10 安装selenium和使用
    Scrapy 爬虫框架入门
    Python 异常处理
    selenium和phantomjs的介绍
    MongoDB入门
  • 原文地址:https://www.cnblogs.com/skyette/p/6363872.html
Copyright © 2020-2023  润新知