
数论
lvmaooi
这个作者很懒,什么都没留下…
展开
-
中国剩余定理概述
机房大佬已经提前几个月把这个玩意儿融会贯通。 蒟蒻瑟瑟发抖啊~ 那么这里再推一下加深记忆。(当时什么鬼NOI2018就把数论跪了) 剩余定理解决什么问题咧? xxx%m1=r1m1=r1m_1=r_1 … xxx%mi=rimi=rim_i=r_i 然后我们要求xxx。 一般来说有这么几个条件,mmm的gcdgcdgcd不会太大,有时候要求mmm互质,但是那种做法我看不懂,直接学的...原创 2018-08-21 11:54:49 · 400 阅读 · 0 评论 -
lucas定理概述
继续学习数论:lucas定理。 我也不会证,记个结论吧:C(a,b)=C(aC(a,b)=C(aC(a,b)=C(a%ppp,bbb%p)∗C(ap)∗C(ap)*C(a/ppp,bbb/p)p)p) 然后我们递归就好了。 当然要求是ppp它是一个质数。如果ppp不是一个质数怎么办咧? 那我们把ppp分解质因数一下就可以使用lucas定理了。哦,等一下,那我们怎么合并咧?我们知道了答案...原创 2018-08-22 12:32:57 · 301 阅读 · 0 评论 -
快速数论变换概述(NTT)
在学习了FFT之后,我们开始学习NTT,感觉在数论题当中,NTT的应用更广,因为不用考虑精度问题,我们可以做数域更广的计算。 下面看一下FFT和NTT的区别: FFT使用单位根作为点值,而NTT使用原根作为点值。原根在数论情况下和单位根的作用是一样的。但是很遗憾的是NTT对于模数有要求。只有在2的次幂足够大的情况下,我才能使用NTT。 code:#include<iostrea...原创 2018-07-30 17:39:50 · 650 阅读 · 0 评论 -
[HNOI2009]有趣的数列(卡特兰数)
[HNOI2009]有趣的数列Description我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件:(1)它是从1到2n共2n个整数的一个排列{ai};(2)所有的奇数项满足a1<a3<…<a2n-1,所有的偶数项满足a2<a4<…<a2n;(3)任意相邻的两项a2i-1与a2i(1≤i≤n)满足奇数项小于偶数项,即:...原创 2018-07-22 13:25:09 · 757 阅读 · 0 评论 -
earthcup(竞赛图定理)
EarthCupTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Problem DescriptionIn the year of 2045,the soccer championship is gradually replaced by Earth Super So...原创 2018-06-29 11:35:35 · 852 阅读 · 2 评论 -
bzoj3143: [Hnoi2013]游走(期望+贪心)
[Hnoi2013]游走Time Limit: 10 Sec Memory Limit: 128 MBDescription一个无向连通图,顶点从1编号到NNN,边从1编号到MMM。 小ZZZ在该图上进行随机游走,初始时小ZZZ在1号顶点,每一步小ZZZ以相等的概率随机选择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数。当小ZZZ到达NNN号顶点时游走...原创 2018-04-27 22:04:13 · 213 阅读 · 0 评论 -
bzoj[1923] [Sdoi2010]外星千足虫(高斯消元+bitset)
1923: [Sdoi2010]外星千足虫Time Limit: 10 Sec Memory Limit: 64 MB Input第一行是两个正整数NNN, MMM。 接下来 MMM行,按顺序给出 CharlesCharlesCharles 这MMM次使用“点足机”的统计结果。每行 包含一个“01”串和一个数字,用一个空格隔开。“01”串按位依次表示每只虫 子是否被放入机器:如果第...原创 2018-05-04 21:19:42 · 400 阅读 · 0 评论 -
bzoj[3517]翻硬币(异或方程组)
3517: 翻硬币Time Limit: 1 Sec Memory Limit: 128 MBDescription有一个nnn行nnn列的棋盘,每个格子上都有一个硬币,且nnn为偶数。每个硬币要么是正面朝上,要么是反面朝上。每次操作你可以选定一个格子(x,yx,yx,y),然后将第xxx行和第yyy列的所有硬币都翻面。求将所有硬币都变成同一个面最少需要的操作数。Input...原创 2018-04-21 14:42:37 · 341 阅读 · 0 评论 -
容斥原理的公式推导
对于容斥原理的最简单的理解就是,把要计算的加上,然后把加多的减掉,然后再把减多的再加回去。这样循环下去就对了。一个好理解的例子就是一个班上有三个兴趣班(c++,java,pasico),每个人都报了兴趣班。30人报了一个,12人报了两个,3人报了三个,求班上有多少人?这是一道小学题,自然也很简单。ans=30-12+3=21(人)。然后这样为什么是对的呢?我们思考一下30之中把报了两项的人计算...原创 2018-03-28 16:09:52 · 12656 阅读 · 3 评论 -
线性筛各种数
怎么筛质数?有一种很简单的方法,1到n枚举,是质数就把他所有的倍数打一个合数标记,然后就完了。但是我们有一个问题,比如说30,它会被2筛掉,被3筛掉,被5筛掉。这样复杂度就不会很优秀,我们有什么做法让30只被2筛,不被3和5筛掉呢?于是我们换一种筛法,据说叫做欧拉筛。就是对于每一个数,我们用小于它的质数乘上它,然后把那个数筛掉。重要的是,如果这个数可以整除当前质数,就break掉。这样我们就很...原创 2018-03-28 11:35:43 · 869 阅读 · 2 评论 -
高斯消元概述
其实高斯消元比较简单,而且似乎没有什么卵用,就水一水吧。 先看模板:【模板】高斯消元法题目描述给定一个线性方程组,对其求解输入格式:第一行,一个正整数nnn 第二至n+1n+1n+1行,每行n+1n+1n+1个整数,为a1a1a_1, a2a2a_2 ⋯an⋯an\cdots a_n 代表一组方程输出格式:共nnn行,每行一个数,第iii行为xixix_i(保留...原创 2018-04-14 12:53:40 · 278 阅读 · 0 评论 -
线性基概述
看到一篇非常好的博客:传送门!!! 看了以后大概就学会线性基了,向大佬%%%。 蒟蒻再根据自己的理解讲一讲线性基: 线性基在百度和别人博客上基本上看不懂~ 就是用有限的数集合{s}代表无限的数集合{k}。具体的代表方式就是它们能组合出的异或值相同。而有限的数具体是多少呢?最大数二进制下的位数。 对于常见的oi题目,线性基就是62个数的集合。线性基的性质在于它的第iii个数二进制下第i...原创 2018-04-14 11:26:03 · 2239 阅读 · 1 评论 -
扩展欧几里得算法概述
先说一下欧几里得算法是什么,就是小学学过的辗转相除法,用来求gcdgcdgcd的。大概是像这样的:int gcd(int a,int b) { if(b==0) return a; gcd(b,a%b); } 然后我们在这段代码上加一些奇奇怪怪的东西,就变成扩展欧几里得了。顺便解释一下扩展欧几里得是什么,就是一种方法来求ax+by=gcd(...原创 2018-03-29 19:49:00 · 236 阅读 · 0 评论 -
919E - Congruence Equation(费马小定理)
919E - Congruence Equation题目大意:给定aaa,bbb,xxx,ppp 求1≤n≤x1≤n≤x1≤n≤x且满足n∗an=b(modn∗an=b(modn*a^n=b(mod p)p)p)的nnn有多少个? 解:如何学习数学? 要跪了。 费马小定理的一道好题。推一波式子就可...原创 2018-09-06 11:35:46 · 298 阅读 · 0 评论