
数论
文章平均质量分 71
益达爱喝芬达
能摆就不要卷
展开
-
逆元
如果一个线性同余方程ax≡1(mod b),则称x是a mod b的逆元,记作a-1。原创 2024-09-08 22:06:39 · 428 阅读 · 0 评论 -
积性函数
积性函数 and 莫比乌斯反演1 定义对于函数f(x)f(x)f(x) ,若满足(p,q)=1(p, q) = 1(p,q)=1,且f(p×q)=f(p)×f(q)f(p \times q) = f(p) \times f(q)f(p×q)=f(p)×f(q),则称f(x)f(x)f(x)为完全积性函数2 常见积性函数正因子个数函数:d(x)d(x)d(x)欧拉函数(1 - n内与n互质的数的个数):phi(x)phi(x)phi(x)莫比乌斯函数:u(x)u(x)u(x)3 线性求积性函原创 2022-03-28 20:45:07 · 134 阅读 · 0 评论 -
洛谷 P2568 GCD
洛谷P2568 GCD(欧拉筛,欧拉函数)题目入口思路遇到在范围内gcd(a,b)=kgcd(a,b)=kgcd(a,b)=k,我一般会把式子转化为gcd(a/k,b/k)=1gcd(a/k,b/k)=1gcd(a/k,b/k)=1后使用欧拉函数求解,本题只需要筛出质数,将范围1−N1-N1−N映射到1−N/prime[1],1−N/prime[2]...1- N/prime[1],1-N/prime[2]...1−N/prime[1],1−N/prime[2]...,然后在每个新范围内求出互质的数的原创 2021-11-10 19:02:20 · 361 阅读 · 0 评论 -
洛谷 P2155 [SDOI2008] 沙拉公主的困惑
P2155 [SDOI2008] 沙拉公主的困惑(线性筛,逆元)题目入口题解我们知道 gcd(m!+k,m!)=gcd(k,m!)gcd(m!+k,m!)=gcd(k,m!)gcd(m!+k,m!)=gcd(k,m!)若k>m!k>m!k>m! 不妨令k=m!+ck=m!+ck=m!+c于是gcd(k,m!)=gcd(c,m!)gcd(k,m!)=gcd(c,m!)gcd(k,m!)=gcd(c,m!)我们目标求1−n!1-n!1−n!中gcd(i,m!)==1gcd(i,m!原创 2021-11-10 15:23:06 · 167 阅读 · 0 评论 -
中国剩余定理及其扩展
中国剩余定理概述用于求解模数互质的线性同余方程组解题方法代码模板int exgcd(int a,int b,int &x,int &y) { if(b==0) { x=1; y=0; return a; } int ans=exgcd(b,a%b,x,y); int tmp=x; x=y; y=tmp-(a/b)*y; r原创 2021-10-22 16:47:54 · 257 阅读 · 0 评论 -
扩展欧几里德与贝祖定理
概述扩展欧几里德则是用来求解有关方程ax+by=max+by=max+by=m的问题扩欧模板int exgcd(int a,int b,int &x,int &y) { if(b==0) { x=1; y=0; return a; } int ans=exgcd(b,a%b,x,y); int tmp=x; x=y; y=tmp-(a/b)原创 2021-10-22 16:37:06 · 272 阅读 · 1 评论 -
类欧几里德算法
类欧几里德算法概述求满足或类似于上式的式子类型1A)当a>c||b>c时 B)当a<c&&b<c时类型2A)当a>c||b>c时B)当a<c&&b<c时类型3A)当a>c||b>c时B)当a<c&&b<c时例题题目描述输入格式第一行给出数据组数 t。接下来 t行,每行有四个整数,分别为每组数据的 n,a,b,c。输出格式对于每组数据原创 2021-10-07 16:46:15 · 120 阅读 · 0 评论 -
欧拉函数笔记
欧拉函数概述欧拉函数就是对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。欧拉函数的通式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn)其中p1, p2……pn为n的所有质因数,n是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。性质① 当m,n互质时,有phi(mn)= phi(m) * phi(n);② 若i%p==0,有phi(i*p) = p * phi(i);③ 对于互质x与p,有x^phi原创 2021-10-07 16:32:22 · 364 阅读 · 0 评论 -
逆元笔记整理
概述如果一个线性同余方程ax≡1(mod b),则称x是a mod b的逆元,记作a-1。(当a⊥b时才有逆元)扩欧求逆元代码模板1. void exgcd(int a, int b, int& x, int& y) { 2. if (b == 0) { 3. x = 1, y = 0; 4. return; 5. } 6. exgcd(b, a % b, y, x); 7. y -= a / b * x; 8. }原创 2021-09-26 14:03:57 · 280 阅读 · 0 评论 -
BSGS与扩展BSGS
这里写目录标题概述普通BSGS解题步骤代码模板扩展BSGS解题步骤代码模板经典例题洛谷P4861 按钮概述主要用于解决an=b(mod p) 问题,求解最小非负整数n,使其满足左式,普通BSGS求解a与p互质的情况,扩展BSGS可求解不互质情况普通BSGS解题步骤1.取m=ceil(sqrt§)(向上取整),若解存在,可令n=im-j,即数对(i,j)存在2.an = b ( mod p )aim-j = b( mod p )aim = baj ( mod p )3.再0-m范围内枚举ba原创 2021-09-26 13:50:04 · 154 阅读 · 0 评论 -
D1. Domino (easy version)(分解质因数+欧拉筛)
D1. Domino (easy version)题目入口思路设a=p1 ^ a1 * p2 ^ a2 * p3 ^ a3…pn ^ an (p1,p2…为a的质因数),b=k1 ^ b1 * k2 ^ b2 * k3 ^ b3…kn ^ bn (k1,k2…为b的质因数),则a可以在cnt1=a1+a2+a3…an的次数内变成1,b能够在 cnt2=b1+b2+b3…+bn的次数内变成1,于是可以发现,若k>cnt1+cnt2,两个数在cnt1+cnt2操作后无法操作,输出NO,在k<原创 2021-09-17 15:08:15 · 293 阅读 · 0 评论 -
2021-09-17C. Strange Function(lcm+容斥)
C. Strange Function(lcm+容斥)题目入口思路f[x]表示不被x整除的最小的数,设其为a,则对x必存在因子1,2…a-1,也就是说x存在约数a1=lcm(1,2,3,…a-1),由于a不被整除,所以x不存在约数a2=lcm(1,2,…a),在1-n中a1的倍数有n/a1个,a2的倍数有n/a2个,由于a1|a2,所以是a1倍数但不是a2倍数的有n/a1-n/a2个,且这些数的大小为a,循环到lcm大于n的时候停止即可代码#include<bits/stdc++.h>原创 2021-09-17 09:41:11 · 231 阅读 · 0 评论 -
P2424 约数和(整除分块)
P2424 约数和(整除分块)题目入口题目描述对于一个数 XX,函数 f(X)f(X) 表示 XX 所有约数的和。例如:f(6)=1+2+3+6=12f(6)=1+2+3+6=12。对于一个 XX,Smart 可以很快的算出 f(X)f(X)。现在的问题是,给定两个正整数 X,Y(X<Y)X,Y(X<Y),Smart 希望尽快地算出 f(X)+f(X+1)+……+f(Y)f(X)+f(X+1)+……+f(Y)的值,你能帮助 Smart 算出这个值吗?输入格式输入文件仅一行,两个正整数原创 2021-09-16 19:54:37 · 195 阅读 · 0 评论