【CCPC2020绵阳站】K

 原题:

 题意:

给你一个x,让你把x拆成若干个互质的数的和,要求拆出来的极差最小

若x为奇数,可以拆成(x-1)/2和(x-1)/2+1,两个相邻的数一定互质(除了1和2)

这个其实可以证明

gcd(a,a+1)=gcd(a+1,(a+1)%a)=gcd(a+1,1)=1

神奇吧,后面基本都是这个思想

若x为偶数,设x=2y

①如果y是偶数(即x为4的倍数),那么显然可以拆成y-1和y+1,二者一定互质

证明:gcd(a,a+2)=gcd(a+2,(a+2)%a)=gcd(a+2,2)=1(a是奇数,a+2也是奇数)

而且x拆出来的极差一定不能是1

证明:若x=a+1+a,则与x=2y矛盾

所以y-1和y+1一定是最优解

②如果y是奇数,那么显然可以拆成y-2和y+2,二者也一定互质

证明:gcd(a,a+4)=gcd(a+4,(a+4)%a)=gcd(a+4,4)=1(a是奇数,a+4是奇数)

但是注意,极差4并不一定是最优解

不过4也是非常有用的,由于一定能构造出4,所以接下来只需要考虑2和3就行了

(1)对于极差是2

①如果用2个数

那么令x=a+a+2=(a+1)+(a+1)

由x=2y,如果y是偶数那么成立(考虑过了),如果是奇数则不成立

②如果用2个数

那么x=a+a+1+a+2=3a+3,只有当x是3的倍数,且a是奇数的时候才可成立,此时a,a+1,a+2一定两两互质

(2)对于极差是3

如果用4个数,那么一定出现两个偶数,所以只能用3个数

而且3个数只能有一个偶数,所以只有两种情况

①a, a+2, a+3

此时x=3(a+1)+2,只有当x%3=2时成立,且要求a不为3的倍数,否则a和a+3不互质

证明:gcd(a,a+3)=gcd(a+3,(a+3)%a)=gcd(a+3,3)

②a-1, a, a+2

此时x=3a+1,只有当x%3=1时成立,且要求a-1不为3的倍数

至此所有情况讨论完整

综上,可以得出总的判断方法:

①如果x为6则无解

②否侧若x是2 3 4的倍数,那么答案是2

③否则若x%3=1,那么如果(x-1)/3-1是3的倍数,则答案是4,否则答案是3

④否则若x%3=2,那么如果(x-2)/3-1是3的倍数,则答案是4,否则答案是3

没有代码

原文地址:https://www.cnblogs.com/cdcq/p/13910127.html