Codeforces Round #599 (Div. 2) Tile Painting
Posted caibingxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。
以上是关于Codeforces Round #599 (Div. 2) Tile Painting的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #599 (Div. 2) D. 0-1 MST(bfs+set)
Codeforces Round #599 (Div. 2) C. Tile Painting
Codeforces Round #599 Div2解题报告A-D
Codeforces Round #599 (Div. 2) A. Maximum Square
Codeforces Round #599 (Div. 2) B1. Character Swap (Easy Version)