数论
文章平均质量分 69
数论
云北海
风雨中抱紧自由
展开
-
【数学】【求每个值对结果的贡献】Prime Game
题意: 定义了mul(l,r) 为a[l]*a[l+1]*……*a[r],fac(l,r) 为mul(l,r)中素因子的个数 求 ,(其中i从1-n,j从i-n)题解: 首先要考虑的是每个素因子能够贡献多少个区间 比如说对第p个位置的数a[p]的素因子,它所贡献的区间共有p*(n-p+1) (应该好理解吧。。) 但是如果第p个之...原创 2019-10-20 15:21:34 · 315 阅读 · 0 评论 -
【区间素数筛】 Help Hanzo
题意: 求一段区间内的素数的个数题解: 当区间边界很小时,可以直接根据埃式筛法先预处理所有素数,然后直接暴力遍历计数即可 但当边界太大时,比如求【100000000 100010000】区间内的素数个数,打表是不能达到这个范围的,所以就需要把区间整体转移到【0,10000】 至于如何转移,可以根据埃式筛的原理,...原创 2019-10-11 21:40:06 · 239 阅读 · 1 评论 -
【扩展欧拉定理】【树状数组】【线性筛】 牛客-简单数据结构1
题解: 欧拉函数线性筛打表,通过树状数组进行区间修改和求区间和的操作 通过扩展欧拉定理进行降幂操作,具体可以看另一篇博客关于欧拉降幂的粗略理解 https://blog.csdn.net/weixin_43916296/article/details/100396671代码: 做这题时打表数据范围开小了...原创 2019-09-03 22:14:18 · 116 阅读 · 0 评论 -
【容斥】【欧拉定理】 牛客 子序列
题意: 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘积相乘的结果,结果对1e9+7取模题解: 考虑每个数对结果做出的贡献 对于序列中的一个数 a 来说,对长度为k的序列的贡献有三种情况: ①:既不作为最大值也不作为最小值 ②: 作为最大值出...原创 2019-09-03 17:59:03 · 186 阅读 · 0 评论 -
【欧拉降幂】 2019ICPC-nanjing 网络赛 B-super_log
知识点学习: 欧拉降幂: 对于一般的a^b,可以用快速幂解决,但当b太大时,就需要用到欧拉降幂来解决问题了 先贴一张网上找的公式图。。 所以只要讨论b和的关系就好了题意: 求a^a^…^a,求b次,输出结果取模m判断b和的...原创 2019-09-02 21:59:30 · 129 阅读 · 0 评论 -
【Lucas定理】【扩展Lucas定理】模板
Lucas定理主要用于求组合数取余,当模数mod为素数时,Lucas定理就能解决 但当mod不是素数时,就需要用到扩展卢卡斯定理了卢卡斯定理模板ll PowMod(ll a,ll b,ll MOD){ //费马小定理求逆元 ll ret=1; while(b){ if(b&1) ret=(ret...原创 2019-08-21 22:01:06 · 166 阅读 · 0 评论 -
【Lucas定理】【欧拉定理】【中国剩余定理】-[SDOI2010]古代猪文
前置技能1:欧拉定理推论:若正整数 a,n 互质,则对于任意正整数b,都有 a^b=a^(bmodφ(n)) (modn) (φ(n)为欧拉函数,n为质数时,φ(n)=n-1)2:Lucas定理1.当n,m都很小的时候可以利用杨辉三角直接求。C(n,m)=C(n-1,m)+C(n-1,m-1);2、n和m较大...原创 2019-08-21 15:31:08 · 196 阅读 · 0 评论 -
【线性基】 Hdu Operation+牛客 xor序列+ CQOI2013新NIM游戏
线性基性质:(1):原序列里面的任意一个数都可以由线性基里面的一些数异或得到。(2):线性基里面的任意一些数异或起来都不能得到0(3):线性基里面的数的个数唯一,并且在保持性质一的前提下,数的个数是最少的先放模板:插入函数void insert_(ll x){ for(int i=60;i>=0;i--){ if((x>>i...原创 2019-08-20 21:40:31 · 170 阅读 · 0 评论 -
【拉格朗日差值法】 公式
拉格朗日插值法 给出对于给定的若n+1个点的坐标(x0,y0),(x1,y1)…,(xn,yn),对应于它们的次数不超过n的拉格朗日多项式只有一个。 应用:给出平面上n+1个点,求一条穿过这n+1个点的n次多项式,或这个多项式在另一个点处的值。 朴素的拉格朗日插值法公式: ...原创 2019-08-14 21:29:38 · 6518 阅读 · 0 评论 -
【杜教筛】【模板】P4213 【模板】杜教筛(Sum)
裸模板题但在洛谷提交可能会超时,在洛谷上提交了一晚上,找了一晚上哪里出问题了,直到最后把一份参考的AC代码再交一遍又T了之后,蓝瘦香菇。。!大佬博客,讲的超详细https://www.cnblogs.com/peng-ym/p/9446555.html#include<iostream>#include<algorith...原创 2019-09-05 23:05:14 · 151 阅读 · 0 评论 -
【扩展剩余定理】【斐波那契博弈】 A. Who is better?
传送门题意:模板题用扩展中国剩余定理求n,再根据斐波那契博弈,若n为斐波那契数列的某一项,则先手必败,反之先手必赢#include<iostream>#include<algorithm>#include<cmath>#include<stdio.h>#include<string.h>#in...原创 2019-09-10 16:48:48 · 113 阅读 · 0 评论 -
【Miller-Rabin大素数检测】【Pollard_rho大数分解】【模板】
Miller-Rabin大素数检测#include<iostream>#include<ctime>#include<algorithm>using namespace std;typedef long long ll;const int maxn = 1000000+10;ll mul(ll a, ll b, ll m)//求a*b%m...原创 2019-09-09 09:01:50 · 147 阅读 · 0 评论 -
【莫比乌斯反演】 [SDOI2015]约数个数和
不会不会。。学习中,先记下来关于莫比乌斯反演公式:题意:关于 d(i j) 的结论:至于为什么,推荐大佬博客-> https://blog.csdn.net/ab_ever/article/details/76737617所求的Ans公式证明过程: 大佬博客。。 ...原创 2019-09-10 17:17:57 · 168 阅读 · 0 评论 -
【数学】小A进学校
题目链接http://icpc.upc.edu.cn/problem.php?cid=1882&pid=3题意:求n! 在k进制下末尾0的个数题解:可以知道一个数N可以转换成a*(k^x) (k表示进制,x表示末尾0的个数)即N=a*(k^x)例如: 十进制 1300 =13*(10^2) 二进制 100 = 1*...原创 2019-09-21 16:05:12 · 95 阅读 · 0 评论 -
【不一样的容斥】FROGS
题意: n个青蛙各自以a[i] 间隔从起点0,沿着m个石头的圆圈跳跃,问所有被青蛙跳过的石头的编号的总和题解: 可以发现,每个青蛙能跳的石头的编号都是gcd(a[i],m)的倍数 例如:a[i]=6,m=14,gcd(6,14)=2,跳过的石头编号分别是:0 6 12 4 10 2 8 0因为对每一个青蛙,在求和过程...原创 2019-09-29 22:18:05 · 91 阅读 · 0 评论 -
差分的应用及正整数的k次幂求和
来源:http://xueshu.baidu.com/s?wd=paperuri%3A%281d6cf25a905f1951b577cf287a82e1a3%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fwenku.baidu.com%2Fview%2Fef155ff1a269...原创 2019-10-02 14:57:30 · 652 阅读 · 0 评论 -
【规律题】【判断n的约数和奇偶】Sigma Function
题意: 求一个正整数n的约数的和的奇偶性题解: 对于pi来说 ①:=2则…+一定是奇数 ② :≠2,则当为偶数时…+为奇数,否则为偶数 对来说,只要其中一个…+为偶数,则为偶数 所以对为奇数的情况,是除了2以外的所有因子的为偶数 对约数和奇数的情况下,n的因子有,或这三种形式,这是因为对所有为偶数,就可以表示成一个数的平方的形...原创 2019-10-03 13:22:57 · 349 阅读 · 0 评论 -
【求n^k的前三位后三位】Kuangbin带你飞 E - Leading and Trailing
题意: 就是求n^k的前三位,后三位题解: 后三位直接用快速幂求 求前三位: 对于任意一个数正整数n,可以表示成10^a,其中a是个浮点数,例如:12=10^1.07918 n^k=10^a^k=10^(a*k)=10^(x+y)=(10^x)*(10^y) 其中10^x是n^x的整数部分,10^y是n^k的小数部...原创 2019-10-03 14:20:03 · 163 阅读 · 0 评论 -
【调和级数求和公式】【欧拉常数】I - Harmonic Number
题意: 求1+1/2+1/3+…+1/n欧拉常数值:C≈0.57721566490153286060651209求和公式:S(n)=ln(n)+C+1/(2*n)公式只对n值很大的数有效( C++ cmath库中log(n)就是ln(n) )#include<bits/stdc++.h>#include<iostream>#include&...原创 2019-10-06 14:48:39 · 4934 阅读 · 0 评论 -
【扩展中国剩余定理】Han Xin and His Troops
题意: 没有题意,就是剩余定理板子题,但是数太大,所以可以用C++的__int128过,也可以用JAVA大数过第一次被错误板子害了,果然菜是原罪。。C++版这道题的ll是__int128类型,输入输出要用快读快输#include<iostream>#include<algorithm>#include<cmath&...原创 2019-08-19 20:26:00 · 154 阅读 · 0 评论 -
【Miller_Rabin】【威尔逊定理】【费马小定理】杭电多校第三场Fansblog
Problem DescriptionFarmer John keeps a website called ‘FansBlog’ .Everyday , there are many people visited this blog.One day, he find the visits has reached P , which is a prime number.He thinks it ...原创 2019-07-31 15:21:51 · 133 阅读 · 0 评论 -
【四面体数】 直角三棱锥
链接:https://ac.nowcoder.com/acm/problem/15705来源:牛客网题目描述在三维空间中,平面 x = 0, y = 0, z = 0,以及平面 x + y + z = K 围成了一个三棱锥。整天与整数打交道的小明希望知道这个三棱锥内、上整点的数目。他觉得数量可能很多,所以答案需要对给定的 M 取模。输入描述:输入有 1 ≤ T ≤ 10...原创 2019-07-25 19:36:22 · 1424 阅读 · 0 评论 -
“字节跳动-文远知行杯” 第十题:count——矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6470关于快速幂的知识点: 对于一个数的1e18次幂,直接求肯定会超时,这时就要用到快速幂的知识了 代码如下//a^bll qp(ll a,ll b){ ll ans=1; while(b) { if(b%2) ...原创 2019-03-21 15:00:38 · 227 阅读 · 0 评论 -
P2822 组合数问题——前缀和优化,递推打表
题目描述组合数 C(n,m) 表示的是从 n 个物品中选出 m 个物品的方案数。举个例子,从 (1,2,3) 三个物品中选择两个物品可以有 (1,2),(1,3),(2,3)这三种选择方法。根据组合数的定义,我们可以给出计算组合数 C(n,m) 的一般公式: 其中 n!=1×2×⋯×n; ...原创 2019-03-02 21:03:48 · 395 阅读 · 0 评论 -
中国剩余定理——孙子定理
孙子定理是中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。又称中国余数定理。有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。 用现代数学的语言来说明的话,中国剩余定理给出了以下的一元线性同余方程组:对于求S的通解公式:s=(a1*m1*m1的逆元+a2*m2*m2的逆元+··...原创 2019-02-16 21:17:52 · 1374 阅读 · 0 评论 -
bsgs算法
对于a^x≡b(mod p)保证gcd(a,p)==1,且p为素数首先我们来回忆一下费马小定理a^oula(p)=1 (mod p)p为素数时,oula(p)=p-1,则a^p=a (mod p)那么我们x枚举到p-1即可但是p数据量为1e9+7呢? 那么我们就可以引入一个新的算法,bsgs,拔山盖世算法,或者北上广深算法~算法核心思想是运用分块的思想来降...原创 2019-01-22 11:25:48 · 286 阅读 · 0 评论 -
唯一分解定理
定义:对于任何一个大于1的正整数,都存在一个标准的分解式:N=p1^a1 * p2^a2···pn^an;唯一分解定理及算术基本定理表明任何一个大于 1的正整数都可以表示为素数的积设F(n)代表n的正因子的数量,则F(n)=(a1+1)*(a2+1)*(a3+1)*······*(an+1)设G(n)代表n的正因子的和,则G(n)=(1+p1^2+p1^3+...+...原创 2019-01-22 10:30:47 · 418 阅读 · 0 评论 -
欧拉函数 例题:B - Farey Sequence
通过欧拉筛引入欧拉函数:一般情况下,埃式筛就能解决大部分素数筛选的问题,但是也有可能有那种**出题人,非要出个1e7的变态数据去卡你,那么我们就介绍一种新的素数筛选方法,欧拉筛 埃式筛的复杂度是O(nlglgn) 欧拉筛复杂度O(n) 一般的情况下,欧拉筛比埃式要快5-6倍int prime[maxn],tot;bool isprime[maxn];void primeall...原创 2019-01-22 09:55:28 · 280 阅读 · 0 评论 -
快速幂取余
对幂指数较大时可利用快速幂来求最终结果,算法复杂度为log n,能大大减少运行时间#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;bits/stdc++.h&amp;gt;#define ll long longusing namespace std;ll a,b,p;ll qp(ll a,ll b,ll p){ ll ans=1; while(b) {原创 2019-01-12 16:41:55 · 270 阅读 · 0 评论 -
青蛙的约会
问题出处:http://poj.org/problem?id=1061#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;math.h&amp;gt; #define ll long longint exgcd(ll a,ll b,ll *m,ll *n){ if(b==0) { *m=1;*n=0; return a; } else { i原创 2019-01-12 16:55:34 · 134 阅读 · 0 评论 -
64位整数乘法(大数乘法)(C/C++实现)
对于两个大数据,如果直接相乘会导致溢出,所以需要对其进行精密化的运算 对于一个数,可以将其转化成二进制 即:11=(1011)=1* 2^3 + 0* 2^2 + 1 * 2^1+1 * 2^0 b的二进制表示: 所以这里的计算可以用快速幂的思想,但又有不同之处,即ans的初值为0,而...原创 2019-03-28 20:10:37 · 2223 阅读 · 0 评论 -
Hunter’s Apprentice (猎人的学徒)——【Green 公式( 判断多边形边界曲线顺/逆时针】
学习博客:https://www.cnblogs.com/kyokuhuang/p/4250526.html伪代码:double d = 0;for (int i = 0; i < n - 1; i++) { d += -0.5 * ( y[i + 1] + y[i]) * (x[i + 1] - x[i]);}if ( d > 0) cout <...原创 2019-04-13 16:50:09 · 348 阅读 · 0 评论 -
【数学】【裂项相消】Integration-牛客
链接:https://ac.nowcoder.com/acm/contest/881/B来源:牛客网题解博主:https://blog.csdn.net/qq_41608020若侵权一定删。。题目描述Bobo knows thatGiven n distinct positive integers a1,a2,…,ana1,a2,…,an, find the value o...转载 2019-07-21 21:24:21 · 286 阅读 · 0 评论 -
【容斥原理】【dfs】【数论】集合中的质数
链接:https://ac.nowcoder.com/acm/problem/14686来源:牛客网题目描述给出一个集合和一个数m。集合里面有n个质数。请你求出从1到m的所有数中,至少能被集合中的一个数整除的数的个数。输入描述:第一行两个正整数 n 和 m 。第二行n个正整数,分别为集合中的质数。输出描述:输出一个整数,表示符合要求的正整数的个数...原创 2019-07-21 20:01:58 · 331 阅读 · 0 评论 -
[HAOI2007]反素数
反素数概念:对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数。例如,整数1,2,4,6等都是反质数。性质有两条:性质(1)一个反素数的所有质因子必然是从2开始的连续若干个质数,因为反素数是保证约数个数为的这个数尽量小性质(2)同样的道理,如果,那么必有...原创 2019-07-24 16:52:41 · 420 阅读 · 0 评论 -
扩展中国剩余定理模板题-牛客-一个小问题
链接:https://ac.nowcoder.com/acm/problem/15068来源:牛客网uu遇到了一个小问题,可是他不想答。你能替他解决这个问题吗?问题:给你k对a和r是否存在一个正整数x使每队a和r都满足:x mod a=r,求最小正解x或无解。输入描述:第一行是正整数k(k<=100000)接下来k行,每行有俩个正整数a,r(100000>...原创 2019-07-24 11:46:06 · 252 阅读 · 0 评论 -
【数学】Floating-Point Hazard
题目描述给定low,high的值,您必须找到以下表达式的值:如果您尝试以直接的方式查找上述表达式的值,则由于精度错误,答案可能不正确。输入输入文件最多包含2000行输入。每行包含两个整数,表示低,高的值(1≤低≤高≤2000000000,高低≤10000)。输入由包含两个零的行终止。不应处理此行。输出对于每行输入产生一行输出。该行应以指数格式包含上述...原创 2019-04-30 15:45:09 · 185 阅读 · 0 评论 -
Chosen by god 【组合数打表,快速幂,求逆元】
每个人都知道有一个电脑游戏名称“炉石”,最近xzz非常喜欢这个游戏。如果你想赢,你需要能力和好运。有一个咒语名称为“奥术飞弹”,可以在所有敌人之间随意分配3种伤害。xzz有一个“奥术飞弹加号”可以在所有敌人中随机分配n点伤害。敌方战场只有两个角色:敌方英雄和敌方奴才。现在我们假设敌人的英雄有无限的健康,敌人的仆从有健康。xzz想要知道“奥术飞弹加号”杀死敌人小兵的概率(在“奥术飞弹...原创 2019-04-24 22:33:50 · 316 阅读 · 0 评论 -
Gcd Ⅱ(欧拉函数应用)
2818: GcdTime Limit:10 SecMemory Limit:256 MBSubmit:9702Solved:4314[Submit][Status][Discuss]Description给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对.Input一个整数NOutput如题Sa...原创 2019-04-28 22:56:22 · 185 阅读 · 0 评论 -
【CF1154B】Make Them Equal 【数论】【 set集合实现 】
B. Make Them Equal time limit per test 2 seconds memory limit per test 256 megabytesYou are given a sequencea1,a2,…,ana1,a2,...原创 2019-04-26 21:56:23 · 322 阅读 · 0 评论