![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数论
文章平均质量分 73
关于数论
unique_pursuit
但行好事,莫问前程!
展开
-
P2303 [SDOI2012] Longge 的问题 (欧拉函数 + 迪利克雷卷积)
题意给定整数nnn,求∑i=1ngcd(i,n)\sum_{i=1}^n \gcd(i,n)∑i=1ngcd(i,n)。解题思路直接求解肯定是不现实的,这种通常是要对公式进行变形。我们可以枚举nnn的约数,那么∑i=1ngcd(i,n)=∑d∣nd∑i=1n[gcd(i,n)==d]=∑d∣nd∑i=1nd[gcd(i,nd)==1]=∑d∣ndψ(nd)\sum_{i=1}^n \gcd(i,n)=\sum_{d|n}d\sum_{i=1}^n[\gcd(i,n)==d]\\=\s..原创 2021-09-18 09:40:21 · 184 阅读 · 0 评论 -
FFT模板-附详细注释
学习自:快速傅里叶变换(FFT)详解,【学习笔记】超简单的快速傅里叶变换(FFT)(含全套证明)。FFT模板/** *@filename:FFT *@author: pursuit *@created: 2021-08-05 20:57**/#include <bits/stdc++.h>#define debug(a) cout << "debug : " << (#a)<< " = " << a << en转载 2021-08-05 21:50:21 · 838 阅读 · 0 评论 -
贝祖定理与扩展欧几里得算法详解
贝祖定理定义给定两个整数aaa和bbb,一定存在整数xxx和yyy,使得ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)。换句话说,若ax+by=max+by=max+by=m有整数解当且仅当mmm是gcd(a,b)gcd(a,b)gcd(a,b)的倍数。证明以下d∣ad|ad∣a代表ddd是aaa的因子对于ax+by=cax+by=cax+by=c,设d=gcd(a,b)d=gcd(a,b)d=gcd(a,b),则d∣a,d∣bd|a,d|bd∣原创 2021-03-29 18:18:57 · 744 阅读 · 0 评论 -
HDU-1061 Rightmost Digit(快速幂)
原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=1061测试样例Sample Input234Sample Output76HintIn the first case, 3 * 3 * 3 = 27, so the rightmost digit is 7. In the second case, 4 * 4 * 4 * 4 = 256, so the rightmost digit is 6.题意: 求NNN^NNN最右边的数原创 2020-11-06 21:39:56 · 220 阅读 · 0 评论 -
E. Two Round Dances(圆排列)Codeforces Round #677 (Div. 3)
原题链接: https://codeforces.com/contest/1433/problem/E测试样例input2output1input4output3input8output1260input20output12164510040883200题意: 有nnn个人,平均分成两组,每组围成一个圆环跳舞,问有多少种组法。解题思路: 组合数学问题中的圆排列。晚点补证明,有兴趣的可以百度看一下证明过程。AC代码/**邮箱:unique_powerhouse原创 2020-10-21 02:15:03 · 412 阅读 · 0 评论 -
费马小定理学习整理
费马小定理学习整理PS:费马小定理碰到了好几次了,决心在此刻把它解决。若有问题请私信或者评论区留言,我都会给予回复。定理展示假如aaa是一个整数,ppp是一个质数,那么ap−aa^p-aap−a就是aaa的倍数。我们可以记为: ap≡a(modp)a^p \equiv a \pmod{p}ap≡a(modp) (1)(1)(1)这个式子其实就是apmod p≡amod pa^p \mod p \equiv a \mod papmodp≡amodp原创 2020-09-16 19:55:35 · 563 阅读 · 3 评论 -
C. Chocolate Bunny(数学+交互) Codeforces Round #669 (Div. 2)
原题链接: https://codeforces.com/contest/1407/problem/C测试样例inputCopy31210output? 1 2? 3 2? 1 3? 2 1! 1 3 2题意: 这是一个交互问题,有一个1~n的排列数组ppp,你并不知道它的排列,现在你想通过向系统询问来猜想排列数组。你最多有2∗n2*n2∗n次的询问机会。询问方式为? i j?\ i\ j? i j,意为询问pxmod  原创 2020-09-09 14:02:20 · 393 阅读 · 0 评论 -
D. Swords(思维+最大公约数) Codeforces Round #587 (Div. 3)
原题链接:https://codeforces.com/problemset/problem/1216/DPS:此题为改编题,我按照改编题的题意来写的,和cf原题是一样的。题意:给定n中血液的剩余存量,且血液剩余存量不会相等,Eily每次回偷喝k cc的血量,问你Eily偷喝血液的最少可能次数和对应的k值。解题思路:这个问题中我们主要是求最少可能次数,所有的血液存量一开始是相同的,后来变为我们给定的n个血液剩余存量,所以我们先要判断Eily最少喝了多少,有了最少才能进行下一步。那么很明显,我们就是要原创 2020-08-10 15:29:23 · 268 阅读 · 0 评论 -
数论——欧几里得算法 GCD和LCM
文章目录GCDGCD证明GCD非递归实现GCD递归实现LCMLCM代码实现GCD什么是GCD,GCD就是最大公约数,对于一些最大公约数问题,我们通常是利用循环来找到最大的公约数,可这样效率往往并不高,对于给定的两个整数m和n,时间复杂度可能高达O(min(n,m)),这是我们不愿看到的的,那么有什么方法更快解决呢?当然有,就是欧几里得算法,也就是辗转相除法。它的步骤十分简短,我们先来看看它是怎么做到的呢?我们看一个示例:假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这原创 2020-08-04 16:12:57 · 592 阅读 · 0 评论