CF338D GCD Table(拓展中国剩余定理,细节处理,2900分)
Posted 繁凡さん
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF338D GCD Table(拓展中国剩余定理,细节处理,2900分)相关的知识,希望对你有一定的参考价值。
整理的算法模板合集: ACM模板
实际上是一个全新的精炼模板整合计划
CF338D GCD Table(拓展中国剩余定理,细节处理,2900分)
Problem
有一张 n × m n\\times m n×m 的表格 G G G,第 i i i 行第 j j j 列的元素是 G ( i , j ) = gcd ( i , j ) G(i,j)=\\gcd(i,j) G(i,j)=gcd(i,j) 。给定一个长度为 k k k 的序列 a i a_i ai ,询问是否存在 x , y x,y x,y,满足 ∀ i , 1 ≤ i ≤ k , G ( x , y + i − 1 ) = gcd ( x , y + i − 1 ) = a i \\forall i,1\\le i\\le k,G(x,y+i-1)=\\gcd(x,y+i-1)=a_i ∀i,1≤i≤k,G(x,y+i−1)=gcd(x,y+i−1)=ai (即问是否有在表格范围内的解 ( x , y ) (x,y) (x,y) )。
数据范围: 1 ≤ n , m ≤ 1 0 12 , 1 ≤ k ≤ 1 0 4 , 1 ≤ a i ≤ 1 0 12 1\\le n,m\\le 10^{12},1\\le k\\le 10^4,1\\le a_i\\le 10^{12} 1≤n,m≤1012,1≤k≤104,1≤ai≤1012
Solution
根据题意显然可以列出:
{ gcd ( x , y + 1 − 1 ) = a 1 gcd ( x , y + 2 − 1 ) = a 2 ⋯ gcd ( x , y + k − 1 ) = a k \\left\\{ \\begin{aligned} \\gcd(x,y+1-1) & = & a_1 \\\\ \\gcd(x,y+2-1) & = & a_2 \\\\ \\cdots\\\\ \\gcd(x,y+k-1)& = & a_k \\end{aligned} \\right. ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧gcd(x,y+1−1)gcd(x,y+2−1)⋯gcd(x,y+k−1)===a1a2ak
我们知道 gcd ( a , b ) = c \\gcd(a,b) =c gcd(a,b)=c,经典套路,显然有: a = k 1 c , b = k 2 c , k 1 ∤ k 2 a=k_1c,b=k_2c,k_1\\nmid k_2 a=k1c,b=k2c,k1∤k2
即:
a
∣
c
,
b
∣
c
⇒
x
∣
a
i
,
y
+
i
−
1
∣
a
i
a\\mid c,b\\mid c\\Rightarrow x\\mid a_i,y+i-1\\mid a_i
a∣c,b∣c⇒x∣ai,y+i−1∣ai
即:
x ≡ 0 m o d a i y ≡ ( 1 − i ) m o d a i \\begin{aligned}&x\\equiv0 \\bmod a_i&\\\\&y\\equiv(1-i)\\bmod a_i\\end{aligned} x≡0modaiy≡(1−i)modai
所以我们可以列出一个同余方程组:
{ y ≡ ( 1 − 1 ) m o d a 1 y ≡ ( 1 − 2 ) m o d a 2 ⋯ y ≡ ( 1 − k ) m o d a k \\left\\{ \\begin{aligned}&y\\equiv(1-1)\\bmod a_1&\\\\&y\\equiv(1-2)\\bmod a_2\\\\&\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\cdots&\\\\&y\\equiv(1-k)\\bmod a_k\\end{aligned} \\right. ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧y≡(1−1)moda1y≡(1−2)moda2 ⋯y≡(1−k)modak
显然 a i a_i ai 不一定是质数,所以我们直接使用拓展中国剩余定理求解即可,这样我们就可以求出一个合法的 y y y。
那么如何求出最小的(不容易越界)且合法的 x x x 呢,显然 x x x 可以整除所有的 a i a_i ai,那么满足条件的最小的 x x x 显然是 lcm { a i } \\text{lcm}\\{ a_{i} \\} lcm{ai}。
求出 x , y x,y x,y 以后验证一下开头列出来的 gcd \\gcd gcd 是否完全相同,以及 G ( x , y + i − 1 ) G(x,y+i-1) G(x,y+数学数论拓展中国剩余定理