![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
p__| wYw |__q
这个作者很懒,什么都没留下…
展开
-
C++数论之Legendre定理的运用:因子和阶乘
这里先提前介绍一下题目所说的Legendre定理在正数n!的素因子标准分解式中,素数p的最高指数记为,则这里简单的解释一下这个Legendre定理。我们知道每一个正实数都可以分解成如下的形式:(表示一个指数,w表示这个质数的指数)什么意思呢,比如一个数12,就可以把它分解成。那么同理,我们就可以看成这个数,根据Legendre定理,我们枚举每一个从小到大直到n的质数,之后新...原创 2019-02-25 13:15:25 · 895 阅读 · 1 评论 -
C++题解:Matrix Power Series ——矩阵套矩阵的矩阵加速
Matrix Power Seriesr时间限制: 1 Sec 内存限制: 512 MB题目描述给定矩阵A,求矩阵S=A1+A2+……+A^k,输出矩阵,S矩阵中每个元都要模m。数据范围: n (n ≤ 30) , k (k ≤ 109) ,m (m < 104)输入输入三个正整数n,k,m输出输出矩阵S mod m样例输入2 2 40 11 1样例输出1 ...原创 2019-04-16 13:42:26 · 218 阅读 · 0 评论 -
浅谈欧拉函数及其各种在数学上的用法(欧拉定理,拓展)与其C++上实现的方式
先来简单说下欧拉函数在实际应用上涉及到的各个方面:首先,欧拉函数在同余上面可以派上大用场,涉及了同余的题基本上都能扯到欧拉函数。然后,它在求逆元上也可以说有那么一点关系。。。。。。。欧拉函数的应用远不止于此。所以,欧拉函数在信息竞赛上以及数论上都是一个非常重要的内容,需要整体,系统地学习。笔者在初学的时候也不是很认真,所以写这篇博客的目的其实也是为了复习一遍,巩固一下基础。...原创 2019-04-02 14:07:22 · 1063 阅读 · 0 评论 -
C++矩阵加速经典题目:Warcraft III 守望者的烦恼 [vijos 1067]
Warcraft III 守望者的烦恼背景守望者-warden,长期在暗夜精灵的的首都艾萨琳内担任视察监狱的任务,监狱是成长条行的,守望者warden拥有一个技能名叫“闪烁”,这个技能可以把她传送到后面的监狱内查看,她比较懒,一般不查看完所有的监狱,只是从入口进入,然后再从出口出来就算完成任务了。描述头脑并不发达的warden最近在思考一个问题,她的闪烁技能是可以升级的,k级的闪烁技能最...原创 2019-04-11 13:21:58 · 685 阅读 · 1 评论 -
C++信息竞赛NOIP各种必备实用模板(逆元,费马小定理,扩展欧几里得,快速幂,卡常,欧拉函数,组合数。。。。。。)
为什么会有此博客? 此博客是为了博主复习时方便地背模板。博主在代码部分都是默写的,所以可能会有点小错误,见谅。前半部分重点关注于数论。如果觉得很好的朋友可以收藏了慢慢看卡常必备!快速读入int read() { int s=0,f=1;char a=getchar(); while(a<'0' || a>'9') { if(a=='-') f...原创 2019-03-28 12:49:40 · 712 阅读 · 0 评论 -
浅谈矩阵加速——以时间复杂度为O(log n)的算法实现裴波那契数列第n项及前n之和使用矩阵加速法的优化求法
首先请连矩阵乘法乘法都还没有了解的同学简单看一下这篇博客:https://blog.csdn.net/weixin_44049566/article/details/88945949首先直接暴力求使用O(n)的时间复杂度肯定是不行的,所以我们应该使用更优的时间复杂度。设f(n)为裴波那契数列第n项。让我们来构造两个矩阵:和.现在我们不妨将两个矩阵相乘,化简过后可以得到:,...原创 2019-04-01 14:11:02 · 698 阅读 · 2 评论 -
C++数论板题(弹药科技):Lengendre定理和欧拉函数
弹药科技时间限制: 1 Sec 内存限制: 128 MB题目描述经过精灵族全力抵挡,精灵终于坚持到了联络系统的重建,于是精灵向人类求助,大魔法师伊扎洛决定弓}用博士的最新科技来抗敌。 伊扎洛:“博士,还没好吗?” 博士:“只差一步了!只需要在正确的位置装上弹药就可以了!”博士的最新科技是全新的炸弹,但是现在还需要一步装弹药的操作。博士的炸弹有N!个位置可以装弹药(>.<...原创 2019-04-10 13:33:45 · 259 阅读 · 0 评论 -
剑指offer:详细推导拓展中国剩余定理(CRTpro)及具体实现C++模板题Strange Way to Express Integers
前言中国剩余定理和拓展中国剩余定理其实没有一点儿关系。尽管他们求解的内容十分相似:中国剩余定理:求的是模数互质的同余方程的解。中国剩余定理pro:求的是同余方程的解。可以看到两者中国剩余定理pro的适用范围更广,所以我推荐使用中国剩余定理pro,中国剩余定理可以了解一下。如果你还不知道下面的知识,请自行百度补习:1.拓展欧几里得算法求解如下不定方程及如何拓展到求此不定方程的...原创 2019-03-27 13:45:17 · 347 阅读 · 0 评论 -
剑指offer:C++[JSOI2015] 染色问题 容斥原理及二项式优化
问题 H(3789): 格子染色时间限制:1 Sec内存限制:128 MB题目描述 棋盘是一个n×m的矩形,分成n行m列共n*m个小方格。现在萌萌和南南有C种不同颜色的颜料,他们希望把棋盘用这些颜料染色,并满足以下规定:1. 棋盘的每一个小方格既可以染色(染成C种颜色中的一种) ,也可以不染色。2. 棋盘的每一行至少有一个小方格被染色。3. 棋盘的每一列...原创 2019-03-21 13:28:13 · 1208 阅读 · 0 评论 -
剑指offer:C++【UVA 1635】无关的元素 排列组合数的应用及唯一分解定理
问题 A(2716): 无关的元素时间限制:1 Sec内存限制:128 MB题目描述对于给定的n个数a1,a2,...,an,依次求出相邻两数之和,将得到一个新数列。重复上述操作,最后结果将变成一个数。问这个数除以m的余数与哪些数无关?例如n=3,m=2时,第一次求和得到a1+a2,a2+a3,再次求和得到a1+2a2+a3,它除以2的余数和a2无关。输入第1行:...原创 2019-03-20 14:15:26 · 211 阅读 · 0 评论 -
C++使用O(n)的算法找到1~n的所有素数——欧拉筛法的模板代码及原理
我们都知道在日常做题写码时都需要找素数,并且有时还是大量的找素数。这时,我们平常使用的算法就显得时间复杂度低效不可行了。这里介绍一种目前认为是最高效率的用O(n)的时间复杂度找素数的方法。内容简单易懂,还附有模板代码,实在是不可多得的精品。原创 2019-02-27 13:58:29 · 3489 阅读 · 3 评论 -
C++高级算法之运用二次函数公式推导的数论题——小球碰撞(包看包懂)
前言这题居然是我为数不多的几道在考场上想出正解的数论题(虽然没A),真是太感动了。考完后问了下同学的方法,暴力枚举(从-10000枚举都10000)居然能得到一半的分,也是很神奇了。这给了我们一个启示,不能保证100%做对的题都要打包搜。题目先放出题目惊吓一下你们幼小的心灵。(不是我吹,能一遍理解的都是大佬)题目描述输入输出样...原创 2019-02-20 13:55:06 · 878 阅读 · 1 评论 -
C++题解:P1894 [USACO4.2]完美的牛栏The Perfect Stall —— 求二分图的最大匹配算法其一:匈牙利算法 (增广路,匹配,最大匹配)
在看这道题之前,我们先来了解一下什么是二分图及与二分图匹配的相关概念及基础知识。基础知识故名思义,二分图本质上还是由点和边构成的数据结构,与之不同的是,二分图相当于把一张图分成了两个部分,也就是两个部。部与部之间的点没有边相连,以下的几个图都可以算作二分图:(图中的箭头无意义,并不代表有向边)现在来简单说一下匹配和最大匹配(因为只涉及匈牙利算法,所以不讲其他杂七杂八的东西。最小点覆盖什么的...原创 2019-04-18 13:45:58 · 495 阅读 · 0 评论