OI数论
博主主要在这里写一些和数学有关的知识和在OI以及编程中的应用。
VictoryCzt
Now in UESTC, doing with math and algorithm and AI.
展开
-
辛普森积分入门讲解
辛普森积分引用部分百度一下文库定义 辛普森积分法就是在积分区间[a,b]上去找三个点a、b和m=(a+b)/2,计算其原函数的在此处的值,然后用抛物线来拟合原函数。正文Simpson积分公式用途:来求一个函数的积分的近似值,用于面积计算等精度要求不是特别苛刻的地方。其实它就是用一个二次函数曲线不断拟合逼近原函数,然后求得原函数的近似值...原创 2018-06-12 08:13:04 · 17404 阅读 · 1 评论 -
FFT学习笔记
FFT(Fast Fourier Transform)快速傅里叶变换引入百度一下这里的很多的工程上的文章和学术性的文章都是以音频和图像的处理和生活中的实际用途还有纯数学角度讲的,但是作为一个OIer,我们一般是不会用到这些的,所以这里就不讲解什么时域频域转换和波的分析之类的东西,而是将如何在OI中应用。概念与前置人物了解傅里叶其实这里要讲的傅...原创 2018-07-09 15:36:18 · 1436 阅读 · 0 评论 -
NTT学习笔记
粗略的学习笔记~NTT(快速数论变换)解决多项式卷积在取模意义下的值,并且不使用复数(浮点数)而是使用整数(在取模的意义下)来减少精度误差。其实FFT预处理单位根和将较大数据拆成两部分也可以减少精度误差,但是还是没有NTT的精度高,而且不方便取模。这里假设你会了FFT。 不会的话看这里FFTFFT之所以精度误差大,就是在于单位根为无理数eee的多少次方,所以必须用浮点...原创 2018-07-11 21:39:28 · 2350 阅读 · 0 评论 -
欧几里得算法及其扩展学习笔记
欧几里得算法百度一下人物介绍在欧几里得著的《几何原本》里面,有用线段的划分来讲解这个数学方法的,这里我们从代数而不是几何上来讲,并且侧重于算法OI竞赛。欧几里得算法(gcdgcdgcd),又称辗转相除法,可以用来快速计算两个整数的最大公约数,并有许多扩展应用。下面我们来看公式: gcd(n,m)=gcd(m,n mod&nbsp原创 2018-07-15 10:57:26 · 1301 阅读 · 0 评论 -
中国剩余定理及其扩展学习笔记
Chinese Remainder Theorem(CRT)又称孙子定理,是用来解决一类同余方程组问题的方法。百度一下这个要用到欧几里得算法相关知识,不会走这里GO我们从一个简单的例子入手:现有如下式子(p1,p2p1,p2p_1,p_2为质数):①{x≡a1(mod p1)x≡a2(mod p2)①{x≡a1(mod p1)x原创 2018-07-16 21:40:12 · 609 阅读 · 0 评论 -
莫比乌斯函数与欧拉函数的单个值的快速求法
直接根据定义求即可,复杂度为(n)−−−√(n)\sqrt{(n)}题目:莫比与欧拉AC程序#include<cstdio>#define ll intusing namespace std;int n;ll getphi(ll a){ ll t=a,tmp=a; for(ll j=2;j*j<=tmp;j++){ if(t...原创 2018-08-09 14:50:34 · 690 阅读 · 0 评论 -
欧拉函数技巧与学习笔记
欧拉函数详解蒟蒻的学习笔记 前置1:数论函数为定义域在自然数上的一类函数,它是非连续的函数(可以说是离散的函数)。我也不知道对不对1. 定义百度链接 在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目。 特别的,我们规定 φ(1)=1。性质欧拉函数是个积性函数 也就是 φ(a×b)=φ(a)×φ(b)&nbsp;(a⊥b...原创 2018-08-09 14:53:14 · 405 阅读 · 0 评论 -
各种筛法与莫比乌斯反演
先挖个坑,以后来填。上几份模板代码线性筛素数P3383#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;using namespace std;const int M=1e7+10;int p[M];bool vis[M];int n,cnt,m;void sif...原创 2018-08-09 14:55:49 · 406 阅读 · 0 评论 -
差分约束学习笔记
差分约束引入对于一个序列{x1,x2,x3,⋯,xn}{x1,x2,x3,⋯,xn}\{x_1,x_2,x_3,\cdots,x_n\},我们得知关于它的一系列不等式,形如x1−x2≤kix1−x2≤kix_1-x_2≤k_i,然后我们可以求出一些东西,例子如下:xn−x0xn−x0x_n-x_0的最大最小值。一个合法的xxx序列。等等等对于上述问题,我们有什么好的...原创 2018-08-24 12:43:41 · 239 阅读 · 0 评论 -
排列组合学习笔记
排列与组合引入百度一下:排列与组合百度一下:组合百度一下:排列定义组合数从nnn个不同元素中,任取m(m≤n)m(m≤n)m(m≤n)个元素并成一组,叫做从nnn个不同元素中取出mmm个元素的一个组合;从nnn个不同元素中取出m(m≤n)m(m≤n)m(m≤n)个元素的所有组合的个数,叫做从nnn个不同元素中取出mmm个元素的组合数。我们通常用大写字母CCC表示,计算公...原创 2018-09-20 21:25:24 · 2162 阅读 · 0 评论 -
拉格朗日插值法学习笔记
拉格朗日插值法无关内容无关前置:今天学习Lagrange\rm LagrangeLagrange,然后我一直疑惑为什么音译过来是拉格朗日(不应该是拉格阮籍吗?QAQ),最后在同学的帮助下,在知乎上找到了原因:原来真相居然是,法语,emmmm进入正题百度一下拉格朗日公式问题引入:现在给你一个nnn次多项式的点值表示法(说简单点就是给你一个多项式函数图像上的n+1...原创 2018-10-03 20:52:57 · 688 阅读 · 0 评论 -
伯努利数简单学习笔记
伯努利数【百度百科:里面有很多应用】定义与公式我们常用BiB_iBi定义第iii个伯努利数。生成函数定义方式:zez−1=∑n=0∞Bnznn!\frac{z}{e^z-1}=\sum\limits_{n=0}^\infty B_n\frac{z^n}{n!}ez−1z=n=0∑∞Bnn!zn这里的z∈Cz\in Cz∈C(CCC为复数域)由于伯努利数是指数型函数的...原创 2018-10-04 08:19:22 · 1893 阅读 · 0 评论 -
分治FFT学习笔记
分治FFT\rm FFTFFT与其优化前置知识 :快速傅里叶变换,快速数论变换,多项式求逆,CDQ分治,生成函数。【(蒟蒻的学习笔记)FFT\rm FFTFFT NTT\rm NTTNTT】【或者可以自行去看其他更好的博客讲解】进入正题引入问题已知函数g(x)g(x)g(x)在x∈[1,n−1]x\in [1,n-1]x∈[1,n−1]的函数值,求给定的f(x)f(x)f(x)...原创 2018-10-04 18:53:04 · 5012 阅读 · 2 评论 -
牛顿迭代法学习笔记
牛顿迭代【百度一下】我们一般对一个函数求区间最值,通常单调的二分,单峰的三分。但是这里有更快的方法。下面给一个Wiki的动态图我们发现对一个函数,求它的零点(也就是y=0y=0y=0的点,与xxx轴相交),我们先取一个点,然后求它的切线,切线与xxx轴的交点的xxx坐标为下一个点的xxx坐标,我们会发现在函数收敛的情况下,它会越来越接近零点,接近速度取决于收敛速度。但是如下图的函...原创 2018-10-08 21:51:07 · 354 阅读 · 0 评论 -
错位排列学习笔记
错排百度一下:公式百度一下:问题问题引入对于有nnn个标号为1∼n1\sim n1∼n的箱子和nnn个标号为1∼n1\sim n1∼n的球,现在需要统计将所有的球放入箱子,每个箱子必须有且只有一个球,并且每个球的编号和装它的箱子的编号不一样的方案数。假如n=3n=3n=3,那么所有情况如下:[1](2)&nbsp;[2](3)&nbsp;[3](1)[1](2)\ [2](3)\...原创 2018-10-18 13:52:29 · 603 阅读 · 0 评论 -
判断异或运算后二进制下1个数为奇数的个数
问题时限:1.5s空间:64M给你n≤5×107n\leq5\times10^7n≤5×107个数字,每个数字≤109\leq 10^9≤109,问你有多少对数字异或起来的值在二进制下的111的个数为奇数个。暴力这个直接O(n2)O(n^2)O(n2)枚举计算就可以了,但是是肯定不行的,所以我们要考虑其他方法。观察对于两个数字,某一位异或为111的话那么原来的两个数字的那一位...原创 2018-10-21 19:54:21 · 767 阅读 · 0 评论 -
牛客网比赛211F题算式子题解
题目描述题目地址【IN】给你nnn个整数aia_iai,保证1≤ai≤m1\leq a_i\leq m1≤ai≤m。对于每一个1≤x≤m1\leq x\leq m1≤x≤m,我们令wx=∑i=1n(⌊aix⌋+⌊xai⌋)w_x=\sum\limits_{i=1}^n\left(\lfloor\frac{a_i}{x}\rfloor+\lfloor\frac{x}{a_i}\rfloo...原创 2018-10-22 17:48:38 · 274 阅读 · 0 评论 -
线性基简单学习笔记
线性基百度百科【IN】百度的第一句话似乎有点怪异其实,对于广义的线性基,也就是线性代数里面的基。一个基也相当于该空间内的一个集合。其实一个基的最大的特点就是:它可以线性表出所有该空间里的向量(元素)它的大小是最小的(也就是基中的元素个数不多)且它的任何一个非空子集不会线性表出空集。对于线性表出的意思,可以简单的理解为一些元素通过一种运算可以得到另一个元素,就称这些元素线...原创 2018-10-26 10:30:20 · 217 阅读 · 0 评论 -
[HEOI2012]Akai的数学作业-题解
题目地址【IN】题意简述给你一个多项式方程,形式如下,求其所有的有理数解。a0+a1x+a2x2+⋯+anxn=0a_0+a_1x+a_2x^2+\cdots+a_nx^n=0a0+a1x+a2x2+⋯+anxn=0暴力我们发现输出的是一个分子和分母互质的分数,所以我们枚举一下分子和分母,为了不超时,枚举大概300300300不到,然后每次计算一下(用高精),大概能得到...原创 2018-10-26 18:41:37 · 283 阅读 · 0 评论 -
对于一些小的数学的方法的一些记录
这里只是一些做题时用到的数学小技巧转【hdxrie的数学积累】求xm≡x(mod&nbsp;p)p∈Px^m\equiv x(mod\ p)p\in\mathbb{P}xm≡x(mod&nbsp;p)p∈P,且x∈[0,p−1]x\in[0,p-1]x∈[0,p−1]的满足条件的xxx的个数。答案为gcd(m−1,p−1)+1gcd(m-1,p-1)+1gcd(m−1,p−1)+1...原创 2018-10-29 11:31:40 · 203 阅读 · 0 评论 -
乘法逆元的一些求法
逆元【逆元素-百度一下】广义的来讲,对于任何域中的元素,有乘法运算和单位元III,如果对于该域中的元素AAA,存在另一个元素A′A&amp;amp;amp;#x27;A′,且满足A×A′=IA\times A&amp;amp;amp;#x27;=IA×A′=I,那么A′A&amp;amp;amp;#x27;A′就是AAA的逆元。这里我们只讨论在整数域里的逆元,也就是当A∈ZA\in \rm ZA∈Z且I=1I=1I=1,其实这里的逆元...原创 2018-10-31 08:39:10 · 479 阅读 · 0 评论 -
牛客网比赛226C-数学题-题解
题目地址【IN】这个题目可谓非常神啊,博主做了好久,QAQ题意简述给你一个数的范围nnn,和分数pq\frac{p}{q}qp,保证p,qp,qp,q互质且小于等于nnn,请求出最大的x1y1&amp;lt;pq,1≤x1,y1≤n\frac{x_1}{y_1}&amp;lt;\frac{p}{q},1\leq x_1,y_1\leq ny1x1&lt;qp,1≤x1,y1≤n...原创 2018-11-06 13:37:07 · 278 阅读 · 1 评论 -
[SDOI2013]随机数生成器-题解
题目地址【IN】很久没写BSGS了,找个板子练练手吧简略题意:给你初始的P,a,b,x1P,a,b,x_1P,a,b,x1,生成一个无限长的序列XXX,序列的每个元素满足xi≡a×xi−1+b(mod P)x_i\equiv a\times x_{i-1}+b(mod\ P)xi≡a×xi−1+b(mod P),询问你一个数字ttt,最早在序列的哪个位置出现,...原创 2018-11-28 19:23:25 · 222 阅读 · 0 评论 -
FFT的一个小技巧
蒟蒻的FFT学习笔记IN对于一般的,我们将两个多项式相乘,都是开两个虚数数组,A,BA,BA,B,先将每个多项式的每个系数分别存入两个数组的实部,然后先将AAA做FFT变换,再将BBB做FFT变换,然后两个点值表达式相乘,然后再将其FFTFFTFFT变换回来,最后答案就是数组的实部。这样是做了3次nlognnlognnlogn的FFT变换。但是有一个小技巧,我们对于两个多项式,其实只用开一...原创 2018-12-01 16:48:33 · 355 阅读 · 0 评论 -
类欧几里得算法学习笔记
类欧算法的原理及其模板的简单讲解。原创 2019-01-09 16:36:13 · 869 阅读 · 1 评论 -
FWT(Fast Walsh Transformation)快速沃尔什变换学习笔记
引入对于两个多项式,形如 a0×x0+a1×x1+⋯+an×xna0×x0+a1×x1+⋯+an×xna_0\times x^0+a_1\times x^1+\dots+a_n\times x^n我们将其记为f(x)f(x)f(x)与g(x)g(x)g(x),当我们需要快速求h(x)=f(x)∗g(x)h(x)=f(x)∗g(x)h(x)=f(x)*g(x)(卷积)时,我们就会用FFTF...原创 2018-07-02 08:28:16 · 1013 阅读 · 0 评论 -
[洛谷]P4240 毒瘤之神的考验-数论
题目地址题意简述有TTT次询问,每次给定n,mn,mn,m,求下面式子的值:∑i=1n∑j=1mφ(ij)\sum_{i=1}^n\sum_{j=1}^m\varphi(ij)i=1∑nj=1∑mφ(ij)n,m≤105n,m\leq 10^5n,m≤105,输出答案在mod&ThinSpace;&ThinSpace;998244353\mod 998244353m...原创 2018-12-17 08:15:25 · 430 阅读 · 0 评论 -
[洛谷]P3768 简单的数学题-数论
题目地址题意简述给定两个整数n,pn,pn,p,求下面式子的值:∑i=1n∑j=1nij(gcd(i,j))\sum_{i=1}^n\sum_{j=1}^nij(gcd(i,j))i=1∑nj=1∑nij(gcd(i,j))在模ppp意义下的值。n≤1010,p≤1.1×109n\leq 10^{10},p\leq 1.1\times 10^9n≤1010,p≤1.1×109,p...原创 2018-12-17 11:46:52 · 338 阅读 · 0 评论 -
[国家集训队]Crash的数字表格/JZPTAB和51Nod1238最小公倍数之和V3题解-数论
[国家集训队]Crash的数字表格【地址BZOJ2145地址Luoguo】题意简述给你两个正整数n,mn,mn,m,求下面式子在mod&amp;amp;amp;amp;ThinSpace;&amp;amp;amp;amp;ThinSpace;20101009\mod 20101009mod20101009意义下的值。∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)i=1∑nj=...原创 2018-12-17 19:30:24 · 609 阅读 · 2 评论 -
51Nod1238最小公倍数之和V3的另一种做法
前面的讲解【Blog地址】题目意思:求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)i=1∑nj=1∑mlcm(i,j)对于数据范围n,m≤1010n,m\leq 10^{10}n,m≤1010。其实我们前面将式子化简成了:=∑d=1nd∑w=1⌊nd⌋μ(w)w2S(⌊ndw⌋)S(⌊ndw⌋)=\sum_{d=1}^...原创 2018-12-18 13:03:59 · 284 阅读 · 0 评论 -
[BZOJ4407]于神之怒加强版-题解
【题目地址】题意简述给定T,KT,KT,K,表示有TTT组询问,每组给定n,mn,mn,m,求下面式子的值:∑i=1n∑j=1mgcd(i,j)K\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)^Ki=1∑nj=1∑mgcd(i,j)K输出在mod&ThinSpace;&ThinSpace;109+7\mod 10^9+7mod109+7意义下的值...原创 2018-12-18 22:08:16 · 296 阅读 · 0 评论 -
[CQOI2015]选数-题解
【题目地址】题意简述给定N,K,L,HN,K,L,HN,K,L,H求下面式子在mod&amp;nbsp;109+7{\rm mod\ 10^9+7}mod&amp;nbsp;109+7意义下的值。∑i1=LH∑i2=LH⋯∑iN=LH[gcd(i1,i2,⋯&amp;amp;ThinSpace;,iN)=K]\sum_{i_1=L}^H\sum_{i_2=L}^H\cdots\sum_{i_N=L}^H[gcd...原创 2018-12-19 10:34:44 · 440 阅读 · 0 评论 -
ProjectEuler-Problem 625. Gcd Sum -题解
【题目地址】题意简述求当n=1011n=10^{11}n=1011时的如下式子在mod 998244353{\rm mod}\ 998244353mod 998244353后的值。∑i=1n∑j=1igcd(i,j)\sum_{i=1}^n\sum_{j=1}^igcd(i,j)i=1∑nj=1∑igcd(i,j)我们可以枚举gcdgcdgcd,将式子转化为:...原创 2018-12-19 11:00:05 · 562 阅读 · 5 评论 -
[SDOI2017]数字表格-数论
【题目地址-IN-Luogu】题意简述我们定义fff为斐波那契数列,那么f(0)=0,f(1)=1,f(i)=f(i−1)+f(i−2)[i≥2]f(0)=0,f(1)=1,f(i)=f(i-1)+f(i-2)[i\geq2]f(0)=0,f(1)=1,f(i)=f(i−1)+f(i−2)[i≥2]T≤1000T\leq 1000T≤1000组询问,每次给定n,m≤106n,m\leq 1...原创 2018-12-19 14:59:07 · 290 阅读 · 0 评论 -
[洛谷][POI2007]ZAP-Queries-数论
水到了一道莫比乌斯反演的模板题,凯森QvQ【题目地址】题意简述多组询问,每次给定n,m,dn,m,dn,m,d,求下面式子的值:∑i=1n∑j=1m[gcd(i,j)=d]\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=d]i=1∑nj=1∑m[gcd(i,j)=d]直接莫比乌斯反演,线性求μ\muμ就好啦,式子就变成下面的样子:∑d=1nμ(d)⌊nd...原创 2018-12-19 15:18:19 · 200 阅读 · 0 评论 -
[SDOI2015]约数个数和-[BZOJ4176]Lucas的数论-题解
【[SDOI2015]约数个数和】题意简述给定n,mn,mn,m,求下面式子的值,其中σ0(i)\sigma_0(i)σ0(i)表示iii的约数个数。∑i=1n∑j=1mσ0(ij)\sum_{i=1}^n\sum_{j=1}^m\sigma_0(ij)i=1∑nj=1∑mσ0(ij)其中n,m≤50000n,m\leq 50000n,m≤50000我们考虑将σ0(ij)\...原创 2018-12-19 21:18:56 · 309 阅读 · 0 评论 -
51Nod1220约数之和-数论
推了一下午,写又花了一晚上,XD,自己还是太菜了【题目地址】题意简述单组询问,给定一个nnn,求下面的式子的值在mod&nbsp;109+7{\rm mod}\ 10^9+7mod&nbsp;109+7意义下的值。∑i=1n∑j=1nσ1(ij)\sum_{i=1}^n\sum_{j=1}^n\sigma_1(ij)i=1∑nj=1∑nσ1(ij)其中σ1(i)\sigma_1...原创 2018-12-19 22:05:31 · 444 阅读 · 0 评论 -
51Nod2026 Gcd and Lcm-题解
【题目地址】题意简述我们令f(n)=∑d∣nμ(d)df(n)=\sum_{d|n}\mu(d)df(n)=∑d∣nμ(d)d,求下面式子在模998244353998244353998244353后的值:∑i=1n∑j=1nf(gcd(i,j))×f(lcm(i,j))\sum_{i=1}^n\sum_{j=1}^nf(gcd(i,j))\times f(lcm(i,j))i=1∑n...原创 2018-12-21 18:03:46 · 695 阅读 · 0 评论 -
[LOJ6491] zrq 的 gcd
【题目地址】题意简述给定你n,mn,mn,m求:∑i1=1m∑i2=1m⋯∑in=1mgcd(i1,i2,⋯&ThinSpace;,in)\sum_{i_1=1}^m\sum_{i_2=1}^m\cdots\sum_{i_n=1}^mgcd(i_1,i_2,\cdots,i_n)i1=1∑mi2=1∑m⋯in=1∑mgcd(i1,i2,⋯,in)对2642^{...原创 2018-12-21 21:30:10 · 373 阅读 · 0 评论 -
[BZOJ3512]DZY loves Math IV-数论
【题目地址】简易题意给定n,mn,mn,m,求下面式子在mod 109+7{\rm mod}\ 10^9+7mod 109+7意义下的值:∑i=1n∑j=1mφ(ij)\sum_{i=1}^n\sum_{j=1}^m\varphi(ij)i=1∑nj=1∑mφ(ij)和这道题很像,但是这里n⩽105,m⩽109n\leqslant 10^5,m\leqslant...原创 2018-12-23 19:43:17 · 377 阅读 · 0 评论