Codeforces Round #599 (Div. 2) Tile Painting

题意:就是给你一个n,然后如果  n mod | i - j | == 0  并且 | i - j |>1 的话,那么i 和 j 就是同一种颜色,问你最大有多少种颜色?

思路: 比赛的时候,看到直接手推,发现有点东西,直接打表找出了规律 —— 如果 n的质因子只有一个,那么总数就是 那个 质因子。其它都为 1。

   今天上课的时候无聊,还是试着推了一下原理。

   1.如果一个数只有一个质因子 x ,那么  n-x 、n-2x、n-3x ……等等全为一种颜色,也就是说每隔 x个就是同种颜色,这样的话就是有x种颜色。

   2.如果一个数有多个质因子,比如有 x、y…………

    那么我们可以推出  n-x 、n-2x、n-3x ……等等全为一种颜色,每隔 x个就是同种颜色

              n-y 、n-2y、n-3y ……等等全为一种颜色,每隔 y个就是同种颜色

    再推 k = gcd(x,y),那么就是每隔k个就是同种颜色,并且由于k是 x和y的最大公因数,所以每隔k个中必然包含 x、y。

    由于x、y都是质数,所以k==1,也就是说每隔 1个就是同种颜色,答案就是 1。

    

扫描二维码关注公众号,回复: 7778031 查看本文章

猜你喜欢

转载自www.cnblogs.com/caibingxu/p/11814063.html