![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
AKone123456
这个作者很懒,什么都没留下…
展开
-
I - Tree and Permutation-------------------思维(组合数学)
题意:给定n个点,和n-1条边。设Pi 为第i种排列 Di为第i种排列相邻两点之间的权值之和问所有排列的权值之和是多少解析:我们先分析一条边(u,v)会在所有排列种出现多少次?假设有4个数,根据捆绑法 (u,v)出现的总的次数为A(33)A\tbinom{3}{3}A(33)*A(22)A\tbinom{2}{2}A(22)那么总的权值和就是:A(n−1n−1)A\tbinom{n-1}{n-1}A(n−1n−1)A(22)A\tbinom{2}{2}A(22)(sum(d(i,j)..原创 2020-08-21 15:53:42 · 221 阅读 · 0 评论 -
C - Dream-------------------------思维(2018ccpc+数论+费马小定理)
题意:给定一个p,p为质数,然后根据(m+n)p =mp +np让你构造一个pp 加法矩阵和 一个pp 乘法矩阵解析:因为p是质数 再根据(m+n)p = mp +np想到费马小定理 a(p-1) ≡ 1 (mod p)所以 ap = a(p-1) *a mod p = a mod p所以 (m+n)p = (m+n) mod p;所以根据这个构造即可#include <bits/stdc++.h>using namespace std;int t,p;int...原创 2020-08-20 16:19:27 · 224 阅读 · 1 评论 -
D - Find Integer----------------------------思维(2018ccpc+数论+费马大定理+奇偶数列法则)
题意:给定n和a, 让你求b和c ,使得 an + bn = cn解析:根据费马大定理,an + bn = cn. n>2无解当n0时 无解当n1时 让b=1,c=a+1;当n==2时 需要用到奇偶数列法则定理: 如a2+b2=c^2是直角三角形的三个整数边长,则必有如下a值的奇数列、偶数列关系成立;当a为奇数时{a= (2n+1)b= (n2+(n+1)2−1)c= (n2+(n+1)2) \left\{\begin{aligned}a &am.原创 2020-08-20 10:55:45 · 183 阅读 · 1 评论 -
问题 D: 病毒-----------------------思维(数论)
题目描述chen_03 会制造电脑病毒。有人把 Jay 的电脑植入了病毒,而要解除病毒,Jay 要回答一道题。在电脑屏幕上有一个数n ,Jay 被要求输入一个正整数,这个数能被[1,n]内所有数整除,并且要保持这个数最小,因为这个数可能很大,所以只要输出对109+7取模的结果就行了。然而 Jay 成功的破解了病毒,并将病毒植入了你的电脑上。然后你就不得不开始解这道题。输入输入一个正整数n。输出输出一个正整数表示答案。样例输入 Copy10样例输出 Copy2520提示解析:[原创 2020-06-05 22:33:10 · 159 阅读 · 0 评论 -
约数之和---------------------思维(唯一分解定理+分治)
解析:唯一分解定理A=p1a1p2a2 * p3a3…*pnan那么约数之和 (1+p1+p12+…+p1^a1) …(1+pn+pn2+…+pnan)这边会有一个很通用的做法sum(p,k)=(1+p1+p12+…+p1^k)假设有偶数项:设sum(p,k)=(1+p1+p12+…+p1^k) =(p0+…+p^(k2\frac{k}{2}2k)) +( p^(k2\frac{k...原创 2020-05-05 23:37:24 · 255 阅读 · 0 评论 -
阶乘------------------------------思维(数论+二分)
解析:分解N!质因数 和p的质因数为什么呢 ??例如N!=120 P=60那么N!=120=23 * 3 *5P=22 * 3 *5想要N!是p的倍数,那么N!必须存在一个和p分解的质因数要一样,且幂次一定要大于p分解质因数的幂次 才可以。那么我们就二分n#include<bits/stdc++.h>using namespace std;typedef lon...原创 2020-04-28 22:36:02 · 185 阅读 · 0 评论 -
病毒扩散----------------------------思维(组合数学)
.解析:如果在t时刻走到(x,y) ,那么一定走x次 就是C(t,x) 那么剩下的y次就是C(t-x,y)所以方案数就是: C(t,x)*C(t-x,y)#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+10000;const int MOD=998244...原创 2020-04-25 23:11:48 · 310 阅读 · 0 评论 -
斩杀线计算大师-----------------------数论(扩展欧几里得)
解析:ax+by+cz=kax+by=k-cz这不就是形如ax+by=c所以用扩展欧几里得求解就行了#include<bits/stdc++.h>using namespace std;typedef long long ll;ll a,b,c,k;ll x,y;ll exgcd(ll a,ll b,ll &x,ll &y){ if(!b)...原创 2020-04-17 23:05:39 · 224 阅读 · 0 评论 -
O - GCD - Extreme (II) UVA - 11426-------------------------------数论(线性欧拉筛+套路题)
Given the value of N, you will have to find the value of G. The definition of G is given below:G =i<N∑i=1j∑≤Nj=i+1GCD(i, j)Here GCD(i, j) means the greatest common divisor of integer i an...原创 2020-04-17 15:22:20 · 166 阅读 · 0 评论 -
M - Help Hanzo LightOJ - 1197------------------------------数论(区间映射)
Amakusa, the evil spiritual leader has captured the beautiful princess Nakururu. The reason behind this is he had a little problem with Hanzo Hattori, the best ninja and the love of Nakururu. After he...原创 2020-04-15 15:12:12 · 140 阅读 · 0 评论 -
K - Large Division LightOJ - 1214---------------------------------数论(模拟大数取余)
Given two integers, a and b, you should check whether a is divisible by b or not. We know that an integer a is divisible by an integer b if and only if there exists an integer c such that a = b * c.I...原创 2020-04-15 14:51:13 · 119 阅读 · 0 评论 -
J - Mysterious Bacteria LightOJ - 1220----------------------数论(唯一分解)
Dr. Mob has just discovered a Deathly Bacteria. He named it RC-01. RC-01 has a very strange reproduction system. RC-01 lives exactly x days. Now RC-01 produces exactly p new deadly Bacteria where x = ...原创 2020-04-15 14:35:39 · 135 阅读 · 0 评论 -
I - Harmonic Number LightOJ - 1234-----------------------------数论(调和级数+欧拉常数)
In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers:In this problem, you are given n, you have to find Hn.InputInput starts with an integer T (≤ 100...原创 2020-04-15 13:42:52 · 128 阅读 · 0 评论 -
H - Pairs Forming LCM LightOJ - 1236-------------------------数论(唯一分解+推理)
Find the result of the following code:long long pairsFormLCM( int n ) {long long res = 0;for( int i = 1; i <= n; i++ )for( int j = i; j <= n; j++ )if( lcm(i, j) == n ) res++; // lcm means l...原创 2020-04-15 13:25:10 · 159 阅读 · 0 评论 -
G - Harmonic Number (II) LightOJ - 1245-------------------------数论
I was trying to solve problem ‘1234 - Harmonic Number’, I wrote the following codelong long H( int n ) {long long res = 0;for( int i = 1; i <= n; i++ )res = res + n / i;return res;}Yes, my e...原创 2020-04-15 11:03:48 · 152 阅读 · 0 评论 -
Sigma Function LightOJ - 1336--------------------------------------数论(唯一分解+推理过程)
Sigma function is an interesting function in Number Theory. It is denoted by the Greek letter Sigma (σ). This function actually denotes the sum of all divisors of a number. For example σ(24) = 1+2+3+4...原创 2020-04-14 23:57:29 · 106 阅读 · 0 评论 -
C - Aladdin and the Flying Carpet LightOJ - 1341-------------------------------数论(唯一分解)
It’s said that Aladdin had to solve seven mysteries before getting the Magical Lamp which summons a powerful Genie. Here we are concerned about the first mystery.Aladdin was about to enter to a magic...原创 2020-04-14 21:06:17 · 128 阅读 · 0 评论 -
台阶-Nim游戏---------------------------数论(博弈)
现在,有一个n级台阶的楼梯,每级台阶上都有若干个石子,其中第i级台阶上有ai个石子(i≥1)。两位玩家轮流操作,每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中(不能不拿)。已经拿到地面上的石子不能再拿,最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数n。第二行包含n个整数,其中第i个整数表示第i级台阶上的石子数ai。输出格式如果...原创 2020-04-14 13:57:15 · 132 阅读 · 0 评论 -
Nim游戏---------------------------------------数论(博弈论)
给定n堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数n。第二行包含n个数字,其中第 i 个数字表示第 i 堆石子的数量。输出格式如果先手方必胜,则输出“Yes”。否则,输出“No”。数据范围1≤n≤105,1≤每堆石子数≤109输入样...原创 2020-04-14 13:43:01 · 106 阅读 · 0 评论 -
佳佳的斐波那契-----------------------------数论(矩阵快速幂)
佳佳对数学,尤其对数列十分感兴趣。在研究完 Fibonacci 数列后,他创造出许多稀奇古怪的数列。例如用 S(n) 表示 Fibonacci 前 n 项和 modm 的值,即 S(n)=(F1+F2+…+Fn)modm,其中 F1=F2=1,Fi=Fi−1+Fi−2。可这对佳佳来说还是小菜一碟。终于,她找到了一个自己解决不了的问题。用 T(n)=(F1+2F2+3F3+…+nFn)mo...原创 2020-04-13 17:34:59 · 242 阅读 · 0 评论 -
K - 纪念SlingShot FZU - 1683-----------------------------------数论(矩阵快速幂)
解析:Fn = [fnfn−2fn−3Sn]\begin{bmatrix}fn & fn-2 & fn-3 & Sn\end{bmatrix}[fnfn−2fn−3Sn]Fn+1 = [fn+1fnfn−1Sn+1]\begin{bmatrix}fn+1 & fn & fn-1 & Sn+1\end{bmatrix}[fn+1...原创 2020-04-13 15:46:38 · 95 阅读 · 0 评论 -
斐波那契前 n 项和-------------------------------数论(矩阵快速幂)
大家都知道 Fibonacci 数列吧,f1=1,f2=1,f3=2,f4=3,…,fn=fn−1+fn−2。现在问题很简单,输入 n 和 m,求 fn 的前 n 项和 Snmodm。输入格式共一行,包含两个整数 n 和 m。输出格式输出前 n 项和 Snmodm 的值。数据范围1≤n≤2000000000,1≤m≤1000000010输入样例:5 1000输出样例:12...原创 2020-04-13 11:53:01 · 284 阅读 · 0 评论 -
最幸运的数字-------------------------------数论(欧拉定理)
8是中国的幸运数字,如果一个数字的每一位都由8构成则该数字被称作是幸运数字。现在给定一个正整数L,请问至少多少个8连在一起组成的正整数(即最小幸运数字)是L的倍数。输入格式输入包含多组测试用例。每组测试用例占一行,包含一个整数L。当输入用例L=0时,表示输入终止,该用例无需处理。输出格式每组测试用例输出结果占一行。结果为“Case 1: ”+一个整数N,N代表满足条件的最小幸运数字...原创 2020-04-12 22:35:52 · 1282 阅读 · 0 评论 -
青蛙的约会----------------------------------------数论(同余)
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐...原创 2020-04-12 15:51:16 · 162 阅读 · 0 评论 -
同余方程----------------------------------数论(扩展欧几里得)
求关于x的同余方程 ax ≡ 1(mod b) 的最小正整数解。输入格式输入只有一行,包含两个正整数a,b,用一个空格隔开。输出格式输出只有一行,包含一个正整数x,表示最小正整数解。输入数据保证一定有解。数据范围2≤a,b≤2∗109输入样例:3 10输出样例:7解析:ax≡1(modb) <=> y∈z 使得 ax+by=1然后扩展欧几里得求得 x...原创 2020-04-12 11:33:50 · 158 阅读 · 0 评论 -
最大公约数--------------------------------数论(线性欧拉筛)
给定整数N,求1<=x,y<=N且GCD(x,y)为素数的数对(x,y)有多少对。GCD(x,y)即求x,y的最大公约数。输入格式输入一个整数N输出格式输出一个整数,表示满足条件的数对数量。数据范围1≤N≤107输入样例:4输出样例:4解析:gcd(x,y)=p p是质数所以我们可以求出1~N所有质数p,枚举p因为 gcd(x,y)=p;所以 gcd(x...原创 2020-04-11 23:59:05 · 180 阅读 · 0 评论 -
可见的点------------------------------数论(线性欧拉筛)
在一个平面直角坐标系的第一象限内,如果一个点(x,y)与原点(0,0)的连线中没有通过其他任何点,则称该点在原点处是可见的。例如,点(4,2)就是不可见的,因为它与原点的连线会通过点(2,1)。部分可见点与原点的连线如下图所示:编写一个程序,计算给定整数N的情况下,满足0≤x,y≤N的可见点(x,y)的数量(可见点不包括原点)。输入格式第一行包含整数C,表示共有C组测试数据。每组测试...原创 2020-04-11 23:07:30 · 236 阅读 · 0 评论 -
Hankson的趣味题--------------------------------------数论(线性筛+dfs)
Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数c1和c2的最大公约数和最小公倍数。现在Hankson认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数a0,a1,b0,b1...原创 2020-04-10 18:12:08 · 124 阅读 · 0 评论 -
AcWing 198. 反素数--------------------------------------------数论()
对于任何正整数x,其约数的个数记作g(x),例如g(1)=1、g(6)=4。如果某个正整数x满足:对于任意的小于x的正整数 i,都有g(x)>g(i) ,则称x为反素数。例如,整数1,2,4,6等都是反素数。现在给定一个数N,请求出不超过N的最大的反素数。输入格式一个正整数N。输出格式一个整数,表示不超过N的最大反素数。数据范围1≤N≤2∗109输入样例:1000输出...原创 2020-04-10 12:44:14 · 100 阅读 · 0 评论 -
樱花----------------------------------------数论(唯一分解)
给定一个整数 n,求有多少正整数数对 (x,y) 满足 1x+1y=1n!。输入格式一个整数 n。输出格式一个整数,表示满足条件的数对数量。答案对 109+7 取模。数据范围1≤n≤106输入样例:2输出样例:3样例解释共有三个数对 (x,y) 满足条件,分别是 (3,6),(4,4),(6,3)。解析:1/x+1/y=1/n!=>(y+x)/(xy)=1/...原创 2020-04-09 23:44:28 · 526 阅读 · 1 评论 -
轻拍牛头-----------------------------------------数论(逆向思维求约数个数)
今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏.贝茜让 N 头奶牛(编号 1 到 N)坐成一个圈。除了 1 号与 N 号奶牛外,i 号奶牛与 i−1 号和 i+1 号奶牛相邻,N 号奶牛与 1 号奶牛相邻。农夫约翰用很多纸条装满了一个桶,每一张纸条中包含一个 1 到 1000000 之间的数字。接着每一头奶牛 i 从桶中取出一张纸条,纸条上的数字用 Ai 表示。所有奶牛都选取...原创 2020-04-09 19:56:28 · 135 阅读 · 0 评论 -
约数个数/约数之和------------------------------数论(唯一分解)
给定n个正整数ai,请你输出这些数的乘积的约数个数,答案对109+7取模。输入格式第一行包含整数n。接下来n行,每行包含一个整数ai。输出格式输出一个整数,表示所给正整数的乘积的约数个数,答案需对109+7取模。数据范围1≤n≤100,1≤ai≤2∗109输入样例:3268输出样例:12解析:唯一分解定理时间复杂度:O(sqrt(N))求约数个数之和求约...原创 2020-04-08 21:03:31 · 696 阅读 · 0 评论 -
A - Bi-shoe and Phi-shoe LightOJ - 1370-------------------------------------数论(线性欧拉筛)
Bamboo Pole-vault is a massively popular sport in Xzhiland. And Master Phi-shoe is a very popular coach for his success. He needs some bamboos for his students, so he asked his assistant Bi-Shoe to go...原创 2020-04-08 16:49:13 · 96 阅读 · 0 评论 -
越狱-----------------------------------组合数学(快速幂)
监狱有连续编号为 1 到 n 的 n 个房间,每个房间关押一个犯人。有 m 种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人信仰的宗教相同,就可能发生越狱。求有多少种状态可能发生越狱。输入格式共一行,包含两个整数 m 和 n。输出格式可能越狱的状态数,对 100003 取余。数据范围1≤m≤108,1≤n≤1012输入样例:2 3输出样例:6样例解释所有可能的 ...原创 2020-04-08 14:37:51 · 138 阅读 · 0 评论 -
阶乘分解-----------------------------------------数论(线性筛)
给定整数 N ,试把阶乘 N! 分解质因数,按照算术基本定理的形式输出分解结果中的 pi 和 ci 即可。输入格式一个整数N。输出格式N! 分解质因数后的结果,共若干行,每行一对pi,ci,表示含有pcii项。按照pi从小到大的顺序输出。数据范围1≤N≤106输入样例:5输出样例:2 33 15 1样例解释5!=120=23∗3∗5解析:第一步:筛出1~1e6 所有...原创 2020-04-08 14:11:31 · 139 阅读 · 0 评论 -
质数距离--------------------------------------数论(线性筛+区间映射)
给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。同时,你还需要找到距离最远的两个相邻质数D1和D2(即D1-D2是最大的),如果存在相同距离的其他相邻质数对,则输出第一对。输入格式每行输入两个整数L和U,其中L和U的差值不会超过1000000。输出格式对于每个L和U ,输出一个结...原创 2020-04-08 13:41:13 · 189 阅读 · 0 评论 -
夏洛克和他的女朋友---------------------------------数论(线性筛)
夏洛克有了一个新女友(这太不像他了!)。情人节到了,他想送给女友一些珠宝当做礼物。他买了 n 件珠宝,第 i 件的价值是 i+1,也就是说,珠宝的价值分别为 2,3,…,n+1。华生挑战夏洛克,让他给这些珠宝染色,使得一件珠宝的价格是另一件珠宝的价格的质因子时,两件珠宝的颜色不同。并且,华生要求他使用的颜色数尽可能少。请帮助夏洛克完成这个简单的任务。输入格式只有一行一个整数 n,表示...原创 2020-04-08 11:11:12 · 194 阅读 · 0 评论 -
哥德巴赫猜想----------------------------------------数论(线性筛)
哥德巴赫猜想的内容如下:任意一个大于 4 的偶数都可以拆成两个奇素数之和。例如:8=3+520=3+17=7+1342=5+37=11+31=13+29=19+23现在,你的任务是验证所有小于一百万的偶数能否满足哥德巴赫猜想。输入格式输入包含多组数据。每组数据占一行,包含一个偶数 n。读入以 0 结束。输出格式对于每组数据,输出形如 n = a + b,其中 a,b 是奇素...原创 2020-04-08 10:35:15 · 264 阅读 · 0 评论 -
扩展中国剩余定理(EXCRT)--------------------------------------数论(模板)
解析:推导过程因为乘法会爆long long所以用int128#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef __int128 uint128;const int N=1e5+10000;ll M[N],C[N],x,y;int n;ll gcd(ll a,ll ...原创 2020-04-07 21:26:41 · 175 阅读 · 1 评论 -
中国剩余定理--------------------------------------数论(模板)
给定 2n 个整数a1,a2,…,an和m1,m2,…,mn,求一个最小的非负整数 x,满足∀i∈[1,n],x≡mi(mod ai)。输入格式第1 行包含整数 n。第 2…n+1行:每 i+1 行包含两个整数ai和mi,数之间用空格隔开。输出格式输出最小非负整数 x,如果 x 不存在,则输出 −1。如果存在 x,则数据保证 x 一定在64位整数范围内。数据范围1≤ai≤231−1...原创 2020-04-06 11:54:48 · 130 阅读 · 1 评论