—————数论—————
zjyang12345
Keep calm&carry on
展开
-
线性筛模板--素数、分解素因子/欧拉函数、莫比乌斯函数模板(未完待续)
几个模板都是在线性筛素数基础上扩展,根据各个函数特性来筛i%prime[j]是关键步骤,说明当前i已经是合数,而且已经被筛过了一.欧拉函数:①,p为素数②如果q mod p!=0 , ,p、q互质,这是积性函数性质,由①得phi( pq) =phi(q)*( p-1),③如果qmod p == 0, 那么 phi(q* p) == phi(q)*p(完整...原创 2019-04-10 13:07:41 · 267 阅读 · 0 评论 -
HRY and mobius 19华工I--莫比乌斯函数性质与杜教筛
杜教筛模板链接华工题目链接万恶之源--bzoj2440 完全平方数 应该是这道题前身。进阶版--【SPOJ】DIVCNT2题意: 给n,k, 求一.核心莫比乌斯函数平方及以上因子=0,无平方因子(即素因子次数最大为1)=,如果都当成1来算,他们前缀和不正是:等价于小于等于n,不含平方因子的个数和二.化简证明:第一种:容斥...原创 2019-04-27 17:59:17 · 505 阅读 · 0 评论 -
BZOJ 2440 完全平方数--莫比乌斯函数性质+容斥
万恶之源--bzoj2440 完全平方数①莫比乌斯函数本质为容斥系数出发要求不含平方因子的个数和容斥表达=1平方的倍数的数(全部数)-2的平方的倍数的数-3的平方的倍数的数+6的平方的倍数的数(减2和3的平方的倍数的时候减多了一部分,加回来)核心式子:②由上式的前缀和与要找的数的大小存在有序相关性(第K个数为n,K越大n也越大),可以二分查找,而且T不大,因此每次...原创 2019-04-27 17:59:28 · 307 阅读 · 0 评论 -
19浙江省赛部分题
I.Fibonacci in the Pocket打表+大数取余,左a上b 1 2 0 1 odd even even 2 even odd odd 0 odd even even #include <bits/stdc++.h>using namespace std;char ...原创 2019-04-27 17:54:21 · 324 阅读 · 2 评论 -
2019HDU多校1001 Fraction--辗转相除求分数不等式
方法出处:辗转相除求中间值当套路题记录一下吧,有点像扩展欧几里得,但是不完全是。这道是有点新颖,而这场另一道数学题更是没见过,现场大力莽BSGS果然超时T_T(据说CTF中最短路级别的难度???)一.思路:bx≡a(mod p)可以转换为:bx-kp = a.因为a的范围是(0,b),化成,求最小b步骤:1、看两个数字之间是否有整数,如果有,那么取x为之间最小的整数,...原创 2019-08-06 17:52:59 · 211 阅读 · 0 评论 -
2019HDU多校第五场1004--Equation(分区间讨论思想)
一.题意:http://acm.hdu.edu.cn/showproblem.php?pid=6627给出所有a[i],b[i]和c的情况下求x的所有解,无解输出-1;二.分析观察到绝对值函数具有一定单调性及对称性,必有且仅有一个零点,且在零点处正负发生变化。所以我们可以求出每个零点,划分为n+1个区间,先假设x接近负无穷,即去绝对值为-ax-b,判断x是否在区间内...原创 2019-08-13 18:25:42 · 142 阅读 · 0 评论 -
2019CCPC网络赛HDU6706--huntian oy(杜教筛+GCD性质+欧拉函数性质)
一.前置技能GCD性质(Me的)欧拉函数性质狄利克雷卷积+杜教筛(也是Me的)二.题意及分析题目链接题意:推导:这里直说关键结论,结论更详细推导推荐这篇博客①由GCD性质,②因为gcd=1,这道题a和b没作用了③由欧拉函数性质(hdu3501),左半部分有j与i互素约束,和为n*euler(n)右半部分N>1,不大于...原创 2019-08-24 14:23:57 · 351 阅读 · 1 评论 -
2019HDU多校九6683--Rikka with Geometric Sequence(杜教筛+分块)
参考链接一.前置知识莫比乌斯反演数论分块杜教筛(这里是筛欧拉函数,参见此文二、①--b)二.题意及分析①题意:给出1~n,求其中子序列能组成等比数列的数目②初步分析:设公比为,首项为p,末项为q,都为整数。由于很容易知道q必须要整除a^(k-1)。而这样末项q有种。而对于分母上,每一个a,由开头公比定义,还有一个约束条件,就是必须有一个小于a并与a互质的数...原创 2019-08-20 23:37:25 · 372 阅读 · 0 评论 -
2019牛客多校第九场B-Quadratic equation(二次剩余模板题)
题目链接简单讲下二次剩余,详细讲解可以找篇博客,判断是否有解核心是利用费马小定理,然后构造平方差公式转化成二次剩余做得少,临时搬了个板子(这板子还是有时会RE),没想到这板子少了一句话然后一直莫名WA我们只要化简成X^2%mod=c就可以套模板了,观察到①^2-4*②得到下列式子:解出来x-y再与x+y联立即可,注意在同余方程下除法要用逆元计算即可。#inc...原创 2019-08-16 00:47:19 · 193 阅读 · 0 评论 -
2019牛客第十场D--Han Xin and His Troops(扩展中国剩余定理(CRT)模板题+大数)
扩展CRT自行百度__int128貌似也可以主要结果会大于1e18,要用到大数,这个大数模板搜了很久才搜到,顺便存下#include<bits/stdc++.h> using namespace std; const int base = 1000000000;const int base_digits = 9; struct bigint { //...原创 2019-08-17 17:03:50 · 184 阅读 · 0 评论 -
2019牛客多校第五场--C generator 2 (BSGS优化)
一.题意题目链接二.分析①手动递推或矩阵快速幂,推出:xn=b + ba + ba^2 + ba^3 + ... + ba^(n - 1) + x0a^n②用等比数列求和公式,然后因为要求n,把a^n单独放出来:③经典的BSGS,原算法复杂度肯定TLE因为有这步:long long m=ceil(sqrt(C))需要用分块的思想,即利用“大...原创 2019-08-26 21:30:03 · 230 阅读 · 0 评论 -
2019南京网络赛B. super_log--欧拉降幂
我对欧拉降幂的理解(19.4.6)原题CodeForces 906D Power Tower 有限幂塔函数模板(此题参考)BZOJ 3884 无限次模板一.题意及分析题意:求log*a(x)>=b,最小x分析:可以看出是单调递增,显然取等号,x最小...原创 2019-09-03 00:26:19 · 254 阅读 · 1 评论 -
2019华南理工大学“三七互娱杯”程序设计竞赛F HRY and ec-final--素数间隔与欧拉函数
一.背景题目链接补这题,是因为昨天网络赛碰到一道素数间隔的题(非常相似,但是作法有差异)二.重要性质:①10^9的最大素数间隔为300②(p为素数)三.思路这题数据范围是1e9,而且给出区间是300,根据素数间隔规律,区间里必有一个素数,只要看该素数的欧拉函数值是否对应即可,有两种方法:a.按顺序找,直到符合为止(本代码方法)b.找欧拉函数区间里最...原创 2019-09-09 20:13:58 · 334 阅读 · 0 评论 -
2019ICPC南昌网络赛-- Enju With math problem(素数间隔与欧拉函数性质)
一.题目及背景与华工院赛一道题很像,那题ME的题解链接题目链接题目已经保证是连续的欧拉函数二.性质①10^9的最大素数间隔为300②积性函数性质,均为素数,三.分析①由于区间只有100<300,可能里面没有素数②先假设有素数,那就是华工那道题的方法,暴力判断p欧拉函数是否=p-1,见上面链接如果全为合数,将其拆分成p*q,q为一个小素数,只...原创 2019-09-09 20:45:32 · 345 阅读 · 0 评论 -
BZOJ 2301, HDU 1695 莫比乌斯反演+容斥(水题)
两道水题Problem b题目链接,区间左端点也不确定①我的推导,都是套路啊注意不像YY的GCD,我们化简到就可以停手了!(因为分母只有一项未知,只用暴力枚举t)②容斥:要求区间a~b和区间c~d,减去1~a-1和1~c-1两个没用到的区间,注意减多了要加回来#include <bits/stdc++.h>using namespace std;t...原创 2019-04-14 18:08:13 · 171 阅读 · 0 评论 -
P2257 YY的GCD--莫比乌斯反演入门题+除法分块+线性筛+前缀和
题目描述神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种傻×必然不会了,于是向你来请教……多组输入输入输出格式输入格式:第一行一个整数T 表述数据组数接下来T行,每行两个正整数,表示N, M输出格式:T行,每行一个整数表示...原创 2019-04-14 11:10:52 · 280 阅读 · 0 评论 -
数论大纲之素数分布、测试与分解
大部分参考:https://blog.csdn.net/WhereIsHeroFrom/article/details/78922798一.素数定理(求素数个数)π(x)表示小于x的素数个数。二.素数测试(判断是否素数)①试除法(1-sqrt(n)每个整数)②筛选法a.埃式筛法(1-sqrt(n)每个素数,要预处理后,其他同试除法)b.欧拉筛...原创 2018-10-09 22:02:32 · 412 阅读 · 0 评论 -
poj 2685 GCD快速幂
自闭,因为gcd里面必须用快速幂优化,想不到有这么个推论:gcd(am-1,an-1) = agcd(m,n)-1推广:若 gcd(a,b)=1gcd(am-bm,an-bn) = agcd(m,n)-bgcd(m,n)#include<cstdio>#include<algorithm>#include<cstring>#in...原创 2019-04-03 21:16:42 · 248 阅读 · 0 评论 -
数论花式解方程之套路大纲
同余性质,除法要用逆元一元一次同余方程 二元一次方程 :扩展欧几里得同余方程组 中国剩余定理高次同余方程 离散对数,引申原根等 ...原创 2019-04-05 01:52:58 · 246 阅读 · 0 评论 -
数论同余基础之--拓展欧几里得定理的解题套路与逆元求法
公式:存在整数x,y满足x*a+y*b=gcd(a,b)套路:①列出式子,x*a-y*b=C(a,b,C为常数)②调用拓展欧几里得函数,其中x,y为传值调用,可以得到x*a-y*b=gcd(a,b)的x0,y0(是一组特解)③判断有整数解:C一定要是gcd(a,b)的倍数(gcd(a,b)%C==0) 即 裴蜀定理④还原特解:*(C/gcd(a,b))...原创 2018-09-29 21:47:35 · 268 阅读 · 0 评论 -
poj 1061 青蛙的约会 --扩展欧几里得 解二元一次不定方程例题
扩展欧几里得详解(转)解题步骤两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永...原创 2019-04-03 20:05:24 · 290 阅读 · 0 评论 -
HDU 3292 佩尔方程入门+矩阵快速幂--你想解二元二次方程吗?
题意:求x^2-n*y^2=1 按x排序第k大的解。一.原理佩尔方程:X^2-d Y^2=1,d不为完全平方数的整数,有无穷多个解为什么d不能为完全平方数:(x+y)(x-y)=1 x只能取正负1,y取0,就不会有无穷多组解递推式如下:于是构造矩阵:二.具体实现:①search():x1,y1可以暴力解得,因为以x排序,x与...原创 2019-04-03 23:08:56 · 646 阅读 · 0 评论 -
你知道扩展欧拉定理吗?--数论四大定理之欧拉定理与费马小定理
四大定理证明和题目参考(全!)①欧拉定理和费马小定理 欧拉定理:若n,a为正整数,且n,a互素,则:。 费马小定理:若p为素数,a为正整数且和p互素,则:。 由于当n为素数时φ(n) = p-1,而欧拉定理不需要φ(n) 为素数,可见费马小定理是欧拉定理的特殊形式②Miller-Rabin素数测试(费马小定理应用)费马小定理除了求逆元...原创 2019-04-06 19:35:46 · 742 阅读 · 0 评论 -
矩阵快速幂构造方法
[转载自](https://blog.csdn.net/u012139398/article/details/43120843) 对于出现线性递推的题目,当直接暴力计算的复杂度太高时,我们可以考虑用矩阵快速幂进行加速。因为虽然矩阵乘法的复杂度为O(n^3),但是通过二进制分解,整体的复杂度变成了 log(n...转载 2018-09-28 22:06:23 · 515 阅读 · 0 评论 -
原根和离散对数BSGS求法(高次同余方程)
原根&离散对数一.原根1.定义:(a与m互质)使成立的最小的d(记住原根是a,不是d!)2.原根的性质:一般给出p(有时叫m)1.具有原根的数字仅有以下几种形式:,(p是奇质数)2.一个数的最小原根的大小不超过3.原根个数Φ(Φ(m))个,m为质数则原根个数Φ(m-1)3.求解原根的基本步骤:判断一个数是否有原根。(通过性质1,枚举质数即可) 求得最小...原创 2019-04-07 00:18:53 · 877 阅读 · 0 评论 -
除法分块--玄学
一.套路①推导式子的时候,出现(向下取整符号),目前已知用来解决因子和问题②每块l、r尽量用unsigned long long③n/l为同一块每个数出现次数,r-l+1为同一块区间有多少个数,r=n/(n/l)很玄学,打表可知刚好是每一块的最右端。因此下一块左端就l=r+1④时间复杂度二.题目GYM101652P求因子和#include <bits/...原创 2019-04-08 23:41:41 · 516 阅读 · 2 评论 -
求和式子的几个性质及下标变换
莫比乌斯反演化简经常用,特别是交换求和次序,下标变换参考1参考2参考3(化简技巧)例子来自《具体数学》一.三大基本性质二.多重和式分配律,J K独立或者J包含K三.多重次序变换(可以类比多重积分来理解)①j,k相互独立②j,k不独立前提:推论(例子):但是不能写成内层受外层影响,所以还可以把只含...原创 2019-04-15 18:08:34 · 13274 阅读 · 0 评论 -
莫比乌斯反演入门--化简比较烦
一.莫比乌斯函数特点是,分解的素因子中有平方因子则为0,否则素因子个数奇偶性决定正负1。线性筛大全,含莫比乌斯二.莫比乌斯反演公式用的最多是第二条性质:已知,可得①注意反演的意义:个人拙见是类似反函数把Y=F(x)写成X=F(y)的形式,因为有时F(Y)比F(X)更容易求。为啥引入莫比乌斯函数:实际上消去同类项,比如f(2)出现3次,必然要两项为...原创 2019-04-09 23:39:41 · 670 阅读 · 0 评论 -
从狄利克雷卷积到杜教筛【模板】
更多思路参考洛谷日报是个好东西more一.狄利克雷卷积①完全积性函数:引入他们因为前缀和好求,第一个为1,第二个为n,第三个为不完全积性函数:②公式:f一般为待求的,比如g一般根据③中三个关系,自己构造的,比如③常用关系:a.b.c.(有上面两个式子得)④例子:见下二.杜教筛 一般n达到1...原创 2019-04-15 20:44:21 · 362 阅读 · 0 评论 -
GCD一些性质
参考1、结合律、交换律:gcd(a1,a2,...,an) = gcd(a1,gcd(a2,..,an))对于一个区间的gcd,就是每个数的gcd。。2、单调性: 以4开头往后区间的gcd可能为: 4 4 2 2 2 2 1 1 1 1 1 1 而不可能为: 2 2 4 4 1 1 1 4 由于它在每个独立区间都是唯一的,多次重复计算结果是一样的,...原创 2019-04-16 21:37:14 · 3958 阅读 · 0 评论 -
Min_25筛--简明版
强烈推荐链接一.前置技能埃式筛法:标记素数的倍数(线性筛是标记每个数的素数倍数)积性函数性质:(积性函数比如欧拉函数需要条件gcd(a,b)=1,完全积性函数不需要)二.适用范围min2.5筛:质数幂的多项式(完全积性函数)求(杜教筛:可以利用狄利克雷卷积转换为数论函数,方便求前缀和)显然min2.5筛似乎适用更广些时间复杂度: 空间复杂度:...原创 2019-09-25 20:29:42 · 386 阅读 · 0 评论