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,1ik,G(x,y+i1)=gcd(x,y+i1)=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} 1n,m1012,1k104,1ai1012

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+11)gcd(x,y+21)gcd(x,y+k1)===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,k1k2

即:
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 ac,bcxai,y+i1ai

即:

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} x0modaiy(1i)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(11)moda1y(12)moda2              y(1k)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+数学数论拓展中国剩余定理

欧几里得(辗转相除gcd)扩欧(exgcd)中国剩余定理(crt)扩展中国剩余定理(excrt)简要介绍

[数论]拓展中国剩余定理

中国剩余定理(孙子定理)

学习拓展中国剩余定理小结

拓展中国剩余定理(exCRT)摘要