Luogu 3421 [POI2005]SKO-Knights - Exgcd】的更多相关文章

Description 给出一个骑士的 $N$种 中行走的方式 $(a_i, b_i)$, 可以使骑士的坐标$(-a,-b)$或$(+a,+b)$. 我们需要找出 第二个骑士的 两种行走方式 $(c_1, d_1)$ 和 $(c_2, d_2)$ 使得 两个骑士能走到的点 完全相同. 保证$a_i, b_i$ 不会同时$=0$. Solution 真的是比较神奇的解法, 只需要会exgcd就能够做的题(然而我真的没有想到. 我们要将  两个 不竖直的 向量 $(a_1, b_1)$ , $(a_…
Solution 没有任何算法, 只要会$for$ 就能AC... 我们观察到, 如果有一个位置 的$F_i$ 的系数$b_i$ 为2, 那么只需要把 $b_{i-2}+1,b_{i+1}+1$即可. $b_i = 1, b_{i-1}=1$,那么把$b_{i+1}+1$即可, 所以我们一直枚举过去, 直到没有可以更新的位置 , 就结束循环 Code #include<cstdio> #include<cstring> #include<algorithm> #defi…
题目描述 Byteazar the Dragon has NN piggy banks. Each piggy bank can either be opened with its corresponding key or smashed. Byteazar has put the keys in some of the piggy banks - he remembers which key has been placed in which piggy bank. Byteazar inten…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
补一篇以前的扩展欧几里得的题,发现以前写错了竟然也过了,可能数据水??? 这个题还是很有意思的,和队友吵了两天,一边吵一边发现问题??? L. Knights without Fear and Reproach http://codeforces.com/gym/100812/problem/L time limit per test 2.0 s memory limit per test 256 MB input standard input output standard output Th…
传送门 求ax%b = 1,即ax - by = 1: 很明显这是一个exgcd的形式. 那么要做这道题,首先需要gcd和exgcd的算法作铺垫. gcd(辗转相膜法): int gcd(int a,int b){ ){ return a; } return gcd(b,a%b); } exgcd就是在求出gcd的基础上,求出ax+by = gcd(a,b)的一组x,y的解: int exgcd(int a,int &x,int b,int &y){ ){ x = ; y = ; retu…
题目链接 题目描述非常直接,要求你用快速幂解决第一问,exgcd解决第二问,bsgs解决第三问. emmmm于是现学bsgs 第二问让求最小整数解好烦啊…… 假设我们要求得方程$ax+by=c(mod p)$的最小整数解 令$d=gcd(a,b)$ 我们求得一个解$x_0,y_0$使得$ax_0+by_0=d(mod p)$ 然后$x_0*frac{c}{d}$为最小整数解. #include<cstdio> #include<cstdlib> #include<algori…
LINK:值日班长值周班长 题目描述非常垃圾. 题意:一周5天 每周有一个值周班长 每天有一个值日班长 值日班长日换 值周班长周换. 共n个值日班长 m个值周班长 A是第p个值日班长 B是第q个值日班长 问 最早是哪一天 使得值日班长为A且值周班长为B. 显然是一个类似于方程组的题目 可以列出方程 设是第x天. \((x-p)\mod n=0\) \(\lceil\frac{x}{5}\rceil \mod m=q-1\) 整到一个方程里就是 x=ny+p. \(\lceil\frac{ny+p…
题面 二分后用网络流判定 S->人,流量为二分的mid 人->比赛,流量为1 比赛->T,流量为1 输出方案只要判断a就可以了 # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(a, b) memset(a, b, sizeof(a)) # define Copy(a, b) memcpy(a, b, sizeof(a)) # define ID(a, b) n *…
模拟又炸了,我死亡 $exgcd$(扩展欧几里德算法)用于求$ax+by=gcd(a,b)$中$x,y$的一组解,它有很多应用,比如解二元不定方程.求逆元等等,这里详细讲解一下$exgcd$的原理. 了解$exgcd$算法前,需要$gcd$算法做铺垫.gcd,又称辗转相除法,用于计算两个整数 $a,b$ 的最大公约数. $gcd$函数的基本性质: $gcd(a,b)=gcd(b,a) $ $gcd(a,b)=gcd(-a,b) $ $gcd(a,b)=gcd(|a|,|b|)$ $gcd(a,b…
M_sea:这道题你分析完后就是一堆板子 废话 理解完题意后,我们要求的东西是\(G^s(s=\sum_{d|n} \binom{n}{d})\) 但是这个指数\(s\)算出来非常大,,, 我们可以利用费马小定理 \(a^{(p-1)}\equiv1(mod\ p)(gcd(a,p)=1)\) 由此我们可以得到\(G^s \equiv G^{s\ mod\ (p-1)}(mod\ p)\) 组合数部分可以使用\(Lucas\)定理求解 但是,本题的\(mod-1\)不是一个质数,它可以质因数分解…
题目传送门 戳我来传送 题目大意 给定一个图,问它的所有生成树的边权的最大公约数之和. 可以考虑计算边权的最大公约数为$i$的生成树的个数$f(i)$,最后累加答案. 然后考虑这样的生成树的个数怎么求,根据某个经典套路,我们可以容斥. 因为可以求出边权的最大公约数为$i$的倍数的生成树的个数$F(i)$,所以减去它的倍数的$f$就是$f(i)$了. 但是这么做会T掉. 可以用$O(W\log W)$的时间内预处理出为边权$i$的倍数的边数有多少条.然后高消前判断一下边数是否大于等于$n - 1$…
[luogu P2054] [AHOI2005]洗牌 题目描述 为了表彰小联为Samuel星球的探险所做出的贡献,小联被邀请参加Samuel星球近距离载人探险活动. 由于Samuel星球相当遥远,科学家们要在飞船中度过相当长的一段时间,小联提议用扑克牌打发长途旅行中的无聊时间.玩了几局之后,大家觉得单纯玩扑克牌对于像他们这样的高智商人才来说太简单了.有人提出了扑克牌的一种新的玩法. 对于扑克牌的一次洗牌是这样定义的,将一叠N(N为偶数)张扑克牌平均分成上下两叠,取下面一叠的第一张作为新的一叠的第…
数论入门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和任何…
最近一直在学习数论,讲得很快,害怕落实的不好,所以做一道luogu的同余方程练练手. 关于x的同余方程 ax ≡ 1 mod m 那么x其实就是求a关于m的乘法逆元 ax + my = 1 对于这个不定方程的全部解是 { x = x0 + m/gcd(a,m) { y = y0 - a/gcd(a,m) 我们可以用exgcd来求出其中的一组特解x0 那么什么是exgcd? 先不考虑exgcd,假设当前我们要处理的是求出 a 和 b的最大公约数,并求出 x 和 y 使得 a*x + b*y= gc…
洛谷P2421:https://www.luogu.org/problemnew/show/P2421 思路 从洞的最大编号开始增大枚举答案 对于每一个枚举的ans要满足Ci+k*Pi≡Cj+k*Pj(mod ans)的k ,都要k>min(L[i],L[j])  因为这个ans一定要满足在一个野人死之前可以满足条件 根据上式可以推出Ci+k*Pi=Cj+k*Pj+m*ans   移项得k*(Pi-Pj)+m*ans=Cj-Ci 即可用Exgcd求解此式子 代码 #include<iostre…
洛谷P1516:https://www.luogu.org/problemnew/show/P1516 思路: 设两只青蛙跳了T步 则A的坐标为X+mT   B的坐标为Y+nT 要使他们相遇 则满足:X+mT-(Y+nT)=L*t   (t为整数) 即可推得:(n-m)*T+L*t=X-Y   由此可得 a*x+b*y=c a1=a/gcd(n-m,L)   b1=b/gcd(n-m,L)   c1=c/gcd(n-m,L)   用exgcd求解上述公式得出一个解x,但这并不一定是最后的解 若(…
题目:https://www.luogu.org/problemnew/show/P1082 大水题. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int a,b,x,y; void exgcd(int a,int b,int &x,int &y) { ;y=;return;} exgcd(b,a%…
题目:https://www.luogu.org/problemnew/show/P1082 用 exgcd 即可. 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int a,b; int gcd(int a,int b){return b?gcd(b,a%b):a;} void exgcd(int a,…
关于扩展欧几里得从寒假时就很迷,抄题解过了同余方程,但是原理并不理解. 今天终于把坑填上了qwq. 由于本人太菜,不会用markdown,所以这篇总结是手写的(什么).(字丑不要嫌弃嘛) ********Update9.28********** 刚刚我们求出的是一组特值,那么如何求通值? 约定:设x0,y0为一组特解,t为任意整数,设a>b(不行再交换) 那么有 x=x0+b/gcd*t y=y0-a/gcd*t ******************************* 奉上三道例题: E…
手动博客搬家: 本文发表于20180226 23:35:26, 原地址https://blog.csdn.net/suncongbo/article/details/79382991 题目链接: (poj)http://poj.org/problem?id=1061 (bzoj)http://www.lydsy.com/JudgeOnline/problem.php?id=1477 (Luogu)https://www.luogu.org/problemnew/show/P1516 数据强度对比…
(不会LATEX,只好用Word) ( QwQ数论好难) 再补充一点,单次询问a,b求逆元的题可以直接化简然后套用exgcd求解. 例题:https://www.luogu.org/problemnew/show/P1082…
算法思想 我们想求得一组\(x,y\)使得 \(ax+by = \gcd(a,b)\) 根据 \(\gcd(a,b) = \gcd(b,a\bmod b)\) 如果我们现在有\(x',y'\) 使得 \(bx'+(a\bmod b)y' = \gcd(b,a\bmod b)\) 那么 \(ax+by = bx'+( a-\lfloor\frac a b\rfloor b)y'\) 移项之后 \(ax+by = ay'+b(x'-\lfloor\frac a b\rfloor y')\) 我们可以…
https://www.luogu.org/problem/P3986 很久很久以前,我好像写过exgcd,但是我已经忘了: 洛谷上搜EXGCD搜不到,要搜(扩展欧几里得) 这道题就是ax+by=k,其中ab为斐波那契数列里面相邻的两项: a+b=k ;a+2b=k;2a+3b=k,3a+5b=k; 我们求解ax+by=k; 当x最小时,y最大,答案就是y/a向上取整: 因为y=(k-ax)/b; {设此时的x为x0,则满足x=x0+tb,同理满足y=y0+ta,显然t+1就是此时的答案贡献,…
嗯... 题目链接:https://www.luogu.org/problem/P1082 这道题很明显涉及到了同余和exgcd的问题,下面推导一下: 首先证明有解情况: ax + by = m有解的必要条件是 m mod gcd(a, b) = 0 a为gcd(a, b)的倍数,b为gcd(a, b)的倍数,x.y为整数, 所以ax + by是gcd(a, b)的倍数,所以m是gcd(a, b)的倍数 然后证明a.b互质(下面会用到): 本题中1 mod gcd(a, b) = 0,所以gcd…
题面 传送门:洛咕 Solution 真*扩展中国剩余定理模板题.我怎么老是在做模板题啊 但是这题与之前不同的是不得不写龟速乘了. 还有两个重点 我们在求LCM的时候,记得先/gcd再去乘另外那个数,直接乘会乘爆的 我们在做龟速乘之前,要保证要乘的两个数>=0,如果<0的话,龟速乘会爆掉的,我们传进去之间记得膜一下 int128:你说啥?这里风太大,我听不见. Code //Luogu P4777 [模板]扩展中国剩余定理(EXCRT) //Jan,15th,2019 //中国剩余定理 #in…
题面 传送门:https://www.luogu.org/problemnew/show/P3986 Solution 这是一道很有意思的数论题. 首先,我们可以发现直接枚举a和b会T的起飞. 接下来,我们就可以观察一下式子了,我们略微手算一下,就会有这样的结果: 我们可以发现,a,b在每一项中的数量都可以用同一个斐波那契数列表示. 我们可以用g[x]表示斐波那契数列的第x项,那么,我们可以得到f[x]=a*g[x-1]+b*g[x] 接下来,由常识可以知道,斐波那契数列的第40项就差不多有10…
2021.11.09 P3426 [POI2005]SZA-Template(KMP+DP) https://www.luogu.com.cn/problem/P3426 题意: 你打算在纸上印一串字母. 为了完成这项工作,你决定刻一个印章.印章每使用一次,就会将印章上的所有字母印到纸上. 同一个位置的相同字符可以印多次.例如:用 aba 这个印章可以完成印制 ababa 的工作(中间的 a 被印了两次).但是,因为印上去的东西不能被抹掉,在同一位置上印不同字符是不允许的.例如:用 aba 这个…
Elementary Number Theory - Extended Euclid Algorithm Time Limit : 1 sec, Memory Limit : 65536 KB Japanese version is here Extended Euclid Algorithm Given positive integers a and b, find the integer solution (x, y) to ax+by=gcd(a,b), where gcd(a,b) is…
De fleste af os elskede denne Nike Pegasus 34 foruden var ved at blive begejstret for at få dine ben fra Pegasus treogtredive. Nike ville ikke bedrøve på denne erstatte. Dette Pegasus treogtredive ikke glimt hvoraf helt forskellig fra dette 34. I det…