从exgcd到exCRT】的更多相关文章

从最基础的开始. 1.gcd 这个不用说了吧--\(gcd(a,b) = gcd(b,a\%b)\),这个很显然. 2.exgcd 这玩意可以用来求形如\(ax+by = gcd(a,b)\)的不定方程的一组特解. 首先来证明一下为什么一定是有解的. 因为我们是像上面的gcd一样递归解决问题的,所以当\(b = 0\)时,我们返回a,此时方程必然有一个特解\(x = 1,y = 0\)成立. 我们假设现在已经求出了一组解\(x_1,y_1\),我们要求下一组解\(x_2,y_2\) 有\(ax_…
因为现在noi/noip都是无限栈 noi-linux开栈指令 ulimit -s 102400 这个是100mb 平衡树*2 维护序列 翻转 平衡树+1 维护区间+* t了3个点.. 注意打完标记 splay一下 现在写起来正确率还蛮高的 主席树 不要把ls rs写成x*2 另外更新要注意都更新 另外注意有负数的时候 把mid 定义为 h+t<0?(h+t-1)/2:(h+t)/2 扩展bsgs*1 高斯消元*1 ex-gcd *1 ex-crt *1 kmp *1 ac自动机 *1 强连通分…
真是个简单坑题...++ 前置: exgcd,exCRT,STL-multiset 读完题不难发现,攻击每条龙用的剑都是可以确定的,可以用multiset求.攻击最少显然应该对于每一条龙都操作一次,即攻击\(x\)次.设对于第\(i\)条龙,攻击时使用的剑的攻击力为\(us_i\),生命值为\(hp_i\),恢复能力为\(rh_i\),则\(us_ix\equiv hp_i\pmod{rh_i}\).然后仔细阅读数据范围和提示,会发现存在\(hp_i>rh_i\)的情况,此时\(rh_i=1\)…
目录 数论 知识点 Exgcd 逆元 gcd 欧拉函数\(\varphi(x)\) CRT&EXCRT BSGS&EXBSGS FFT/NTT/MTT/FWT 组合公式 斯特林数 卡塔兰数 常用数学公式 技巧经验 容斥 组合计数 区间筛 博弈 有趣的式子 gcd有关 数论模板库 黑科技 \(long\ long\)相乘取模 子集枚举 高维前缀和 各种线性筛 高级算法 Exgcd Lucas EXCRT BSGS 高斯消元 线性基 裴蜀定理 FFT 拉格朗日插值 NTT FWT 数论 Tag…
Description Input Output Sample Input 23 33 5 74 6 107 3 91 9 10003 23 5 64 8 71 1 11 1 Sample Output 59-1 Solution 当时同步赛的时候写出来了……只不过忘了是爆$long~long$还是小细节写爆了只有$75$…… 当时蠢的一比直接强上了一颗$splay$强行增加码量……现在觉得当时太蠢了然后就重写了一遍…… 首先对于这个题,每次使用的剑可以发现是固定的,这个可以使用$set$来求出…
1.欧几里得算法(辗转相除法) 直接上gcd和lcm代码. int gcd(int x,int y){ ?x:gcd(y,x%y); } int lcm(int x,int y){ return x*y/gcd(x,y); } 2.扩欧:exgcd:对于a,b,一定存在整数对(x,y)使ax+by=gcd(a,b)=d ,且a,b互质时,d=1. x,y可递归地求得. 我懒得改返回值类型了 long long exgcd(long long a,long long b,long long &x,…
题目大意:略 真是一波三折的一道国赛题,先学了中国剩余定理,勉强看懂了模板然后写的这道题 把取出的宝剑攻击力设为T,可得Ti*x=ai(mod pi),这显然是ax=c(mod b)的形式 这部分用exgcd求解x的最小正整数解 先把a,b,c除以gcd(a,b),如果c不能整除gcd(a,b)那么无解.此时a,b互质,用exgcd求得a的逆元,逆元乘回来gcd(a,b)就是x的最小正整数解,注意可能爆long long要用龟速乘 那么此时求得的x是仅仅对于这一个方程的,我们要把它带到excrt…
1.解同余方程: 同余方程可以转化为不定方程,其实就是,这样的问题一般用拓展欧几里德算法求解. LL exgcd(LL a,LL b,LL &x,LL &y){ if(!b){ x=;y=; return a; } LL gcd=exgcd(b,a%b,x,y); LL t=x; x=y; y=t-a/b*x; return gcd; } 2.解同余方程组(任意两个模意义互质)用CRT. LL CRT(){ LL ans=,M=,x,y; ;i<=n;i++) M*=m[i]; ;i…
方便复制 快速乘/幂 时间复杂度 \(O(\log n)\). ll nmod; //快速乘 ll qmul(ll a,ll b){ ll l=a*(b>>hb)%nmod*(1ll<<hb)%nmod; ll r=a*(b&((1<<hb)-1))%nmod; return (l+r)%nmod; } //快速幂 ll qpow(ll a,ll b){ ll res=1; while(b){ if(b&1)res=res*a%nmod; a=a*a%n…
X问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8365    Accepted Submission(s): 3037 Problem Description 求在小于等于N的正整数中有多少个X满足:X mod a[0] = b[0], X mod a[1] = b[1], X mod a[2] = b[2], …, X mod…
蒟蒻maomao终于学会\(CRT\)啦!发一篇博客纪念一下(还有防止忘掉) \(CRT\)要解决的是这样一个问题: \[x≡a_1​(mod m_1​)\] \[x≡a_2​(mod m_2​)\] \[x≡a_3​(mod m_3​)\] \[...\] \[x≡a_k​(mod m_k​)​\] 其中,\(m\)之间两两互质.这个问题有一个通解是\(\sum a_i * M * t_i / m_i\),其中\(t_i\)代表方程\(M * t_i / m_i ≡ 1\)的最小正整数解. 为…
原文链接https://www.cnblogs.com/zhouzhendong/p/exCRT.html 扩展中国剩余定理 (exCRT) 的证明与练习 问题模型 给定同余方程组 $$\begin{cases}x&\equiv&x_1&\pmod {p_1}\\x&\equiv&x_2&\pmod {p_2}\\ &&\vdots\\x&\equiv&x_n&\pmod {p_n}\end{cases}$$ 求解 $…
P4777 [模板]扩展中国剩余定理(EXCRT) excrt模板 我们知道,crt无法处理模数不两两互质的情况 然鹅excrt可以 设当前解到第 i 个方程 设$M=\prod_{j=1}^{i-1}b[j]$ ,$ res$是前$ i-1 $个方程的最小解 则$ res+x*M$ 是前 $i-1 $个方程的通解 那么我们求的就是 $res+x*M ≡ a[i] (mod b[i])$ $<=> x*M - y*b[i] = a[i]-res$ 用exgcd求出的解为 t (当且仅当 gcd…
「NOI2018」屠龙勇士(EXCRT) 终于把传说中 \(NOI2018D2\) 的签到题写掉了... 开始我还没读懂题目...而且这题细节巨麻烦...(可能对我而言) 首先我们要转换一下,每次的 \(atk[i]\) 都可以用 \(multiset\) 找. 我们发现题目求的是 \(atk*x\equiv a_i(\text{mod}\ p_i)\),所以我们做一遍 \(exgcd\),求出同余方程. 然后就可以愉快的 \(EXCRT\) 了~ 不过发现一次要把龙的血量清零,所以一定要减到负…
传送门 原来NOI也会出裸题啊-- 用multiset求出对付每一个BOSS使用的武器威力\(ATK_i\),可以得到\(m\)个式子\(ATK_ix \equiv a_i \mod p_i\) 看起来可以直接魔改式子了-- 等一下!如果\(a_i > p_i\),\(ATK_ix<a_i\)没把BOSS打死怎么办QAQ 看数据范围,没有特性1(\(a_i \leq p_i\))的点似乎\(p_i=1\)?那不只要保证攻击次数能够把所有BOSS血量打到\(\leq 0\)就行了,,,于是这个顾…
前言: 中国剩余定理又名孙子定理.因孙子二字歧义,常以段子形式广泛流传. 中国剩余定理并不是很好理解,我也理解了很多次. CRT 中国剩余定理 中国剩余定理,就是一个解同余方程组的算法. 求满足n个条件的最小的x. 看起来很麻烦. 先找一个特殊情况:$m_1,m_2,...m_n$两两互质. 这个时候,构造$M=m_1*m_2*...m_n$; 令$M_i=M/m_i$; 所以,构造$n$个数,其中第$i$个数是除$i$之外的其他所有数的倍数,并且第$i$个数$mod m_i =1$ 即:$M_…
思路 中国剩余定理解决的是这样的问题 求x满足 \[ \begin{matrix}x \equiv a_1(mod\ m_1)\\x\equiv a_2(mod\ m_2)\\ \dots\\x\equiv a_n(mod\ m_n)\end{matrix} \] 在模数互质的情况下,解为 \[ x=\sum_ia_iM_iM_i^{-1}(mod M) \] 其中\(M=\prod_{i}m_i\),\(M_i=\frac{M}{m_i}\),\(M_i^{-1}\)为\(M_i\)在模\(m…
显然multiset求出每次用哪把剑.注意到除了p=1的情况,其他数据都保证了ai<pi,于是先特判一下p=1.比较坑的是还可能存在ai=pi,稍微考虑一下. 剩下的部分即解bix≡ai(mod pi)方程组.没有保证模数互质,于是excrt一发.excrt实际上就是不停exgcd合并两个方程. 这次是重开这题,调了半天还是一堆-1觉得这个题可能是搞不会了,最后才发现某个地方没开long long. #include<iostream> #include<cstdio> #i…
CRT从各种方面上都吊打exCRT啊...... 短,好理解... 考虑构造bi使得bi % pi = ai,bi % pj = 0.然后全加起来就行了. 显然bi的构造就是ai * (P/pi) * inv(P/pi). LL a = , p = MO - ; ; i <= ; i++) { a = (a + ans[i] * (p / mod[i]) % p * qpow(p / mod[i], mod[i] - , mod[i]) % p) % p; } exCRT: 是这样的,重新手推了…
清除一个误区 虽然中国剩余定理和拓展中国剩余定理只差两个字,但他俩的解法相差十万八千里,所以会不会CRT无所谓 用途 求类似$$\begin{cases}x \equiv b_{1}\pmod{a_{1}} \\x \equiv b_{2}\pmod{a_{2}} \\...\\x \equiv b_{n}\pmod{a_{n}} \\ \end{cases}$$的线性同余方程组的解 具体过程 假设现在我们只有两个同余方程$$x \equiv b_{1}\pmod{a_{1}}$$ $$x \e…
中国剩余定理CRT 中国剩余定理是要求我们解决这样的一类问题: \[\begin{cases}x\equiv a_1\pmod {b_1} \\x\equiv a_2 \pmod{b_2}\\...\\x\equiv a_n\pmod{b_n} \end{cases}\] 其中\(b_1,b_2,...,b_n\)互质. 我们先令\(m=\prod_{i=1}^{n}b_i,w_i=m/b_i\) 那么有\(gcd(m,w_i)==1\) 我们对于\(w_ix'+my'= 1\)解出来\(x',…
EXCRT 不保证模数互质 \[\begin{cases} x \equiv b_1\ ({\rm mod}\ a_1) \\ x\equiv b_2\ ({\rm mod}\ a_2) \\ ... \\ x \equiv b_n\ ({\rm mod}\ a_n)\end{cases}\] CRT戳这里 来一手数学归纳法 设已经求出前 \(k - 1\) 组的一个解 \(q\) 设 \(M = \prod_{i = 1}^{k - 1}a_{i}\) 我们知道前 \(k - 1\) 组的通解…
题意 题目描述 给定\(n\)组非负整数\(a_i, b_i\),求解关于\(x\)的方程组 \[\begin{cases} x \equiv b_1\ ({\rm mod}\ a_1) \\ x\equiv b_2\ ({\rm mod}\ a_2) \\ ... \\ x \equiv b_n\ ({\rm mod}\ a_n)\end{cases}\]的最小非负整数解. 输入输出格式 输入格式: 输入第一行包含整数\(n\). 接下来\(n\)行,每行两个非负整数\(a_i, b_i\).…
数论入门2 另一种类型的数论... GCD,LCM 定义\(gcd(a,b)\)为a和b的最大公约数,\(lcm(a,b)\)为a和b的最小公倍数,则有: 将a和b分解质因数为\(a=p1^{a1}p2^{a2}p3^{a3}...pn^{an},b=p1^{b1}p2^{b2}p3^{b3}...pn^{bn}\),那么\(gcd(a,b)=\prod_{i=1}^{n}pi^{min(ai,bi)},lcm(a,b)=\prod_{i=1}^{n}pi^{max(ai,bi)}\)(0和任何…
推导过程存在漏洞+exCRT板子没打熟于是期望得分÷实际得分=∞? 题目描述 小 D 最近在网上发现了一款小游戏.游戏的规则如下: 游戏的目标是按照编号 \(1\sim n​\) 顺序杀掉 \(n​\) 条巨龙,每条巨龙拥有一个初始的生命值 \(a_i​\).同时每条巨龙拥有恢复能力,当其使用恢复能力时,它的生命值就会每次增加 \(p_i​\),直至生命值非负.只有在攻击结束后且当生命值恰好为 \(0​\) 时它才会死去. 游戏开始时玩家拥有 \(m\) 把攻击力已知的剑,每次面对巨龙时,玩家只…
前置知识 1. a%b=d,c%b=e, 则(a+c)%b=(d+e)%b(正确性在此不加证明) 2. a%b=1,则(d\(\times\)a)%b=d%b(正确性在此不加证明) 下面先看一道题(改编自曹冲养猪): 烤绿鸟的故事 题目描述: mian包是一个贪吃的孩子,这天,他买了一堆绿鸟吃.当然他的妈妈并不想让他吃太多食物(因为那样会发胖),为了避免老妈的唠叨,他决定不告诉他的妈妈绿鸟数量,而是将绿鸟的数量x用以下式子来描述 \[\begin{cases}x≡b_1 (mod a_1)\\x…
\(crt,Chinese\ Remainder\ Theorem\) 概述 前置技能:同余基础性质,\(exgcd\). \(crt\),中国剩余定理.用于解决模数互质的线性同余方程组.大概长这样: \[ \begin{equation} \left\{ \begin{array}{lr} x\equiv a_1(mod\ m_1),\\ x\equiv a_2(mod\ m_2),\\ x\equiv a_3(mod\ m_3),\\ ......\\ x\equiv a_n(mod\ m_…
前言 由于 \(\{\mathrm{CRT}\}\subseteq\{\mathrm{exCRT}\}\),而且 CRT 又太抽象了,所以直接学 exCRT 了. 摘自 huyufeifei 博客 这么抽象的东西我怎么可能会写 前置技能 gcd/lcm exgcd 快速乘 参考资料 一篇未通过的洛谷日报 by AH_ljq 比较直观的 exCRT 学习笔记 by Milky Way 我之前写过的 exgcd 学习笔记 huyufeifei 对 CRT 的劝退 用途 用于求一个关于 \(x​\)…
题目大意:给你一些关于$x$的方程组:$$\begin{cases}x\equiv a_1\pmod{mod_1}\\x\equiv a_2\pmod{mod_2}\\\vdots\\x\equiv a_n\pmod{mod_n}\end{cases}$$求解$x$的最小非负整数解($\gcd(mod_1,mod_2,\cdots,mod_n)\not=1$) 题解:$EXCRT$,假设有两个方程$$\begin{cases}x\equiv x_1\pmod{A}\\x\equiv x_2\pm…
Description 有编号从1到n的n个小朋友在玩一种出圈的游戏,编号为i+1的小朋友站在编号为i小朋友左边.编号为1的小朋友站在编号为n的小朋友左边.首先编号为1的小朋友开始报数,接着站在左边的小朋友顺序报数,直到数到某个数字K时就出圈.直到所有的小朋友都出圈,则游戏完毕.游戏过程如下图所示. Input 第一行有一个正整数n, 2 <= n <= 20,第二行有n 个整数其中第i个整数表示编号为i 的小朋友第i个出圈. Output 求最小的K,如果不存在,则输出一个单词“NIE” S…