数论
文章平均质量分 79
·马克图布·
如果人生真的可以分为几个阶段的话,那么我现在就在感觉自己很普通,并一无是处的那个阶段。
展开
-
Atcoder C - Rally(BF | math)
题意:有nnn个人在X轴上,每个人的 位置是xix_ixi,现在让在XXX轴上选择一点ppp作为会议点,每个人到这儿的代价为(xi−p)2(x_i-p)^2(xi−p)2,现在让你输出这nnn个人最小的代价和。思路:由于范围极小,直接枚举即可,可如果范围1e9那如何去解?ans=(x−x1)2+(x−x2)2+(x−x3)2+....+(x−xn)2ans=(x-x_1)^2+(x-x...原创 2020-02-23 12:16:48 · 187 阅读 · 0 评论 -
UVA 10061How many zero's and how many digits ?
题意:给你一个十进制数nnn,然后问你在bbb进制下n!n!n!的尾数有多少个0,有多少位。思路:在十进制中求N!N!N!中有多少0,做法是看1到N之中有多少个5,就有多少个零,因为10=2⋅510=2\cdot 510=2⋅5,又因为2的数量多(偶数隔位出现)。在本题中也是这个思路,不过,对bbb进行质因数分解后,不能贸然选取最大的质因数,因为数量具有不确定性。就拿14 175来说,17...原创 2020-02-18 21:35:18 · 140 阅读 · 0 评论 -
UVA10692 Huge Mods(指数循环节)
题意:给定你一个MOD,然后再给你一个nnn,随之nnn个数。让你计算a1a2a3....mod MODa_1^{a_2^{a_3^....}}\mod MODa1a2a3....modMOD 的值。思路:指数循环节。根据欧拉降幂公式可以递归计算。网上一部分代码是错误的。因为要注意后面的条件。只有大于等于的时候才可以套用公式,否则,直接快速幂返回即可。const ll N = ...原创 2020-02-17 21:52:02 · 225 阅读 · 0 评论 -
hdu6434 Count(欧拉函数)
题意:求 ∑i=1n∑j=1i−1[(i+j,i−j)=1]\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{i-1}[(i+j,i-j)=1]i=1∑nj=1∑i−1[(i+j,i−j)=1]思路:我们做一下恒等变换,令a=i−ja=i-ja=i−j∑i=1n∑a=1i−1[(2⋅i−a,a)=1]\sum\limits_{i=1}^{n}\sum\l...原创 2020-02-04 12:27:09 · 106 阅读 · 0 评论 -
Codeforces-346A-Alice and Bob(更相减损术)
题意Alice 和 Bob 在玩游戏,给你 n个数,每个数的大小为aia_iai,然后Alice 先走,每一步是从这n个数中选两个数 uuu,vvv做差∣u−v∣|u-v|∣u−v∣,如果这个数不存在则把∣u−v∣|u-v|∣u−v∣填入这个序列,否则这个人就输了。思路:我们先任意选两个数u,vu,vu,v,一直作差,直到u′−v′=v′u'-v'=v'u′−v′=v′,这个过程就是用更相...原创 2020-02-01 10:29:53 · 221 阅读 · 0 评论 -
D. Same GCDs(欧拉函数)
D题意:给你两个整数aaa和mmm,然后让你计算使gcd(a+x,m)=gcd(a,m)(0<=x<=m)gcd(a+x,m)=gcd(a,m)(0<=x<=m)gcd(a+x,m)=gcd(a,m)(0<=x<=m)成立xxx的数量。思路:其实这道题目相比而言并不是很难,但是我却没有思路。有一点我也没有注意,就是变量关系是a<ma<ma&...原创 2020-01-31 21:19:58 · 709 阅读 · 0 评论 -
D. Taxes(哥德巴赫猜想)
D题意:有一个商人今年收入为nnn,但是他要交税,税收为n除本身外的最大因子。现在他想减少税收,把nnn分为独立的kkk份,kkk任意选,每份为ni(ni!=1)n_i(n_i!=1)ni(ni!=1),问你最少可以交多少税。思路:哥德巴赫猜想。显然值为素数为最好的选择。我们把每一份都分为素数,每一堆都会贡献一个1,所以我们也要最少的去分(使得kkk尽量小)。哥德巴赫猜想:任何...原创 2020-01-31 00:12:19 · 323 阅读 · 0 评论 -
P2522 [HAOI2011]Problem b(莫比乌斯反演)
题目链接题意对于给出的 n个询问,每次求有多少个数对 (x,y)(x,y)(x,y),满足a≤x≤ba≤x≤ba≤x≤b,c≤y≤dc≤y≤dc≤y≤d,且 gcd(x,y)=kgcd(x,y)=kgcd(x,y)=k,gcd(x,y)gcd(x,y)gcd(x,y) 函数为 x 和 y的最大公约数。输入格式第一行一个整数 n,接下来 n 行每行五个整数,分别表示 a,b,c,d,k。a,...原创 2020-01-30 13:24:50 · 138 阅读 · 0 评论 -
hdu2841 Visible Trees(容斥 | 莫比乌斯反演)
题意有一个由树围成的m∗nm*nm∗n的格子,在(0,0)(0,0)(0,0)处看,在同一条直线上的点只能看见第一个,问能看到多少个?思路同一条直线斜率kkk相同,即k=abk=\dfrac{a}{b}k=ba令d=(a,b)d=(a,b)d=(a,b)则ad\dfrac{a}{d}da与bd\dfrac{b}{d}db互质问题就转化为了找[1−m][1-m][1−m]与[1−n...原创 2020-01-22 16:28:03 · 251 阅读 · 0 评论 -
hdu3307 Description has only two Sentences(欧拉函数)
题意:给你三个数X,Y,a0X,Y,a_0X,Y,a0,且an=X∗an−1+Yand Ymod (X−1)=0.a_n = X*a_n-1 + Y and \ Y mod \ (X-1) = 0.an=X∗an−1+Yand Ymod (X−1)=0.让你求一个最小的kkk,使得akmod a0=0a_k\mod\ a_0 = 0...原创 2020-01-16 10:45:52 · 251 阅读 · 0 评论 -
poj3696 The Luckiest number(欧拉定理)
题意给你一个LLL,让你找到一个只由8组成数字,可以使得 LLL可以整除它。让你输出这个数的最小位数。思路:因为888888...888888...888888...可以用10n−19∗8\dfrac{10^{n}-1}{9}*8910n−1∗8来表示,其中nnn为这个数的位数。所以有L∣10n−19∗8L|\dfrac{10^{n}-1}{9}*8L∣910n−1∗8即9∗L∣...原创 2020-01-15 20:03:05 · 196 阅读 · 0 评论 -
hdu2588 GCD(欧拉函数)
题意给你n,mn,mn,m,然后让你求解xxx,有1<=x<=n1<=x<=n1<=x<=n,使得gcd(x,n)>=mgcd(x,n)>=mgcd(x,n)>=m成立的解的数目。思路:思路不是很好想,看别人题解后才做出来。毫无疑问的是gcd(n,x)gcd(n,x)gcd(n,x)肯定是n的因子,假设gcd(n,x)=agcd(n,x...原创 2020-01-15 15:49:48 · 225 阅读 · 0 评论 -
hdu5084 HeHe(打表找规律)
写在开头。。。不知道一开始怎么想的,打了个很奇葩的表。。。。只是看出素数为2。论不会打表的重要性。。。你如果打了个正确的表会发现,因为n > 2,he[n]he[n]he[n]结果都是2 的幂,然后可以猜测:如果n的质因子个数为kkk,那么he[n]=2khe[n] = 2^khe[n]=2k。(说的好轻巧)所以我们要求hehe[n]hehe[n]hehe[n]的话,就是求1−n1-n1...原创 2020-01-14 21:17:06 · 200 阅读 · 0 评论 -
hdu1395 2^x mod n = 1
题意是给定一个nnn,问是否存在一个xxx使得2x mod n=12^x \ mod \ n = 12x mod n=1。思路:首先如果n为偶数的时候肯定不存在解,所以如果存在解的话,(2,n)=1(2,n)=1(2,n)=1,一个比较好的思路是,由于由于2是原根,所以这个题目就是求2 模 7的阶,根据原根的性质,我们只需要在φ(n)的因子中用快速幂找到最...原创 2020-01-13 22:46:58 · 188 阅读 · 1 评论 -
AtCoder E - Double Factorial(判断阶乘后面0的个数)
题意给你一个不小于000的整数nnn, 然后求nnn双阶乘的末尾000的个数。n!=n∗(n−2)∗(n−4)......n!=n*(n-2)*(n-4)......n!=n∗(n−2)∗(n−4)......思路:我们知道要求阶乘尾部000的位数:如果乘积要产生000的话,那么他们分解的因子中肯定会有 2∗52*52∗5,又因为因子中222的个数肯定大于555的个数,所以我们直接考虑 ...原创 2019-12-23 16:08:50 · 882 阅读 · 0 评论 -
hdu2620 Ice Rain(数论分块)
题意:Given two integers n,k(1<=n,k<=109).Given \ two \ integers\ n, k(1 <= n, k <= 109).Given two integers n,k(1<=n,k<=109).,求 思路:数论分块。∑i=1nk%i\sum_{...原创 2019-12-22 10:29:31 · 203 阅读 · 0 评论 -
hdu5019 Revenge of GCD(找第大GCD)
题意:找到两个数x,yx,yx,y的第kkk大公约数。思路:先求出最大公约数,然后分解因子。很显然,最大公约数的因子组成x,yx,yx,y的全部公约数,然后用快排在O(n)O(n)O(n)时间求第kkk大公约数即可。AC Code:AC \ Code:AC Code:#include<iostream>#include<cstring>#i...原创 2019-12-20 22:29:55 · 191 阅读 · 0 评论 -
hdu2104 hide handkerchief(模n剩余类加群生成元)
题意:有nnn个盒子,其中手帕可能在某一个盒子里。现在你在第一个盒子,给你一个mmm,表示下次要找的位置间隔,即找完第1个盒子后,要找第1+m1 + m1+m个盒子,依次类推,这个过程是循换的。问你能否找到手帕。思路:上述题意就是问你能否访问全部的盒子。很显然第一个盒子是一定会访问的,然后往后依次 + m+\ m+ m去访问。这个问题其实就是在说mmm是否是模nnn...原创 2019-12-20 09:57:45 · 5248 阅读 · 0 评论 -
hdu2674N!Again(水题)
题意:求N!mod 2009求N! mod\ \ 2009求N!mod 2009N<=1e9N<=1e9N<=1e9思路:水题。当N >= 2009是全为0。所以预处理好1 ~ 2009的阶乘,然后大于等于2009的全为0。其实大于40的就全为0了,因为2009 = 72∗417^2*4172∗41。AC ...原创 2019-12-19 21:20:15 · 159 阅读 · 0 评论 -
hdu2582 f(n)(规律:质因子分解)
题意:This time I need you to calculate the f(n) . (3<=n<=1000000)f(n)=Gcd(3)+Gcd(4)+…+Gcd(i)+…+Gcd(n).f(n)= Gcd(3)+Gcd(4)+…+Gcd(i)+…+Gcd(n).f(n)=Gcd(3)+Gcd(4)+…+Gcd(i)+…+Gcd(n).Gcd(n)=gcd(C[n][...原创 2019-12-19 14:58:16 · 209 阅读 · 0 评论 -
最大公约数的性质
重要性质:gcd(a,b)=gcd(b,a)gcd(a,b)=gcd(b,a)gcd(a,b)=gcd(b,a)(交换律)gcd(−a,b)=gcd(a,b)gcd(-a,b)=gcd(a,b)gcd(−a,b)=gcd(a,b)gcd(a,a)=∣a∣gcd(a,a)=|a|gcd(a,a)=∣a∣gcd(a,0)=∣a∣gcd(a,0)=|a|gcd(a,0)=∣a∣gcd(a,1)...原创 2019-12-19 09:42:55 · 3478 阅读 · 1 评论 -
hdu1852 Beijing 2008(约数之和 : 无逆元除法取模 | 等比数列分治求和)
题意:给你n,k,M=2008n%k,求2008M%k给你n,k,M = 2008^{n}\%k,求2008^{M}\%k给你n,k,M=2008n%k,求2008M%k思路:唯一分解定理分解质因数。利用约数之和是积性函数的性质。对每个质因子的幂求约数之和。每个素因子的幂的约数之和是一个等比数列。用等比数列求和公式求的时候有一个坑点是除法取模时可能不存在逆元,所以只能通过别的方法来做。比...原创 2019-12-18 22:36:39 · 288 阅读 · 0 评论 -
hdu1788 Chinese remainder theorem again(Mi不互质解线性同余方程)
题意:现在有一个问题是这样的:一个正整数N除以M1余(M1−a),除以M2余(M2−a),除以M3余(M3−a),总之,除以MI余(MI−a),其中(a<Mi<100i=1,2,…I),求满足条件的最小的数。现在有一个问题是这样的:一个正整数N除以M1余(M1 - a),除以M2余(M2-a), 除以M3余(M3-a),总之, 除以MI余(MI-a),其中(a<Mi<1...原创 2019-12-17 22:20:16 · 172 阅读 · 0 评论 -
ACwing 97. 约数之和(唯一分解定理 + 快速幂)
题意:假设现在有两个自然数A和B,S是ABA^{B}AB的所有约数之和。请你求出S mod 9901的值是多少。输入格式在一行中输入用空格隔开的两个整数A和B。输出格式输出一个整数,代表S mod 9901的值。数据范围0≤A,B≤5×1070≤A,B≤5×10^{7}0≤A,B≤5×107输入样例:2 3输出样例:15注意: A和B不会同时为0。思路:我们知道约数之和...原创 2019-12-17 19:46:24 · 300 阅读 · 0 评论 -
hdu1452 Happy 2004
题意:题意:题意:给你一个xxx,让你输出2004x2004^{x}2004x的所有约数的和。思路:我们知道约数和函数是积性函数。即当a,ba,ba,b互质的时候,满足f(a∗b)=f(a)∗f(b)。f(a*b)=f(a)*f(b)。f(a∗b)=f(a)∗f(b)。所以f(2004x)=f(22∗x)f(3x)f(167x)f(2004^{x})=f(2^{2*x})f(3^{x})f...原创 2019-12-17 16:28:42 · 160 阅读 · 0 评论 -
AtCoder E - Rem of Sum is Num(区间:前缀同余)
题目链接题意给你一个区间,然后在这个找一个子区间,使得这个子区间的和 % k=k=k=(这个区间的数字个数)。思路一个很朴素的想法是预处理前缀和,然后O(n2)O(n^2)O(n2)枚举,但是很遗憾 的是这里nnn的范围太大了,这样的做法肯定T。我们预处理的前缀和为 SSS根据上面朴素算法的思想得( S(r)−S(l−1) )%k=(r−l+1)(\ S( r ...原创 2019-12-10 23:48:40 · 473 阅读 · 1 评论 -
poj1006 Biorhythms(中国剩余定理)
题意有人认为,一个人的生命从出生的那一天开始就有三个周期。这三个周期是身体,情感和智力周期,分别为23天,28天和33天。每个周期的每个周期都有一个峰值。在一个周期的高峰期,一个人在相应的领域(身体,情感或精神)上表现最佳。例如,如果这是心理曲线,则思维过程将更加清晰,专心将更容易。由于三个周期的周期不同,因此三个周期的峰值通常出现在不同的时间。我们想确定任何人何时发生三重峰(所有三个周期的峰...原创 2019-12-07 15:15:16 · 256 阅读 · 1 评论 -
cf A. Tile Painting(规律:数论)
题目大意:给定一个长为nn的序列,如果两个位置i,ji,j满足n mod |i−j|=0 and |i−j|≠1 的话这两个位置的颜色必须相同,问最多有多少种颜色。思路:比赛的时候找的规律,发现只要质因子个数 >= 2时就是1,否则就是这个质因子本身( = 1)。下边是摘自dalao解析分析:假如nn 是一个质数显然答案是nn假如nn 可以分解为n=pqn=pq ,其中...原创 2019-11-14 15:39:08 · 278 阅读 · 0 评论 -
cf E. Two Arrays and Sum of Functions(贪心:排序不等式)
题意:给你两个数组a 和 b,然后定义了,最后让你求。思路:上式可化简为最后可由排序不等式 对h 数组 和 B数组分别排个序,相乘取模即可。AC Code:#include<iostream>#include<cstring>#include<queue>#include<map>#include<set>...原创 2019-11-07 20:41:38 · 269 阅读 · 0 评论 -
数论基础
1、任意正整数可以分解为 (k 是一个奇数)2、九余数定理 :九余数定理:一个数的树根==该数对9的余数(如果数根为9,那么按0算,毕竟对9取余的范围是0-8)。两个数的数根相加或相乘的数根肯定等于结果的数根3、倍数特点:2的倍数特征:整数末尾是0、2、4、6、8、……的数。3的倍数特征:整数各个位数字和是3的倍数。例如:3、6、9、12、15、18……、...原创 2019-10-19 21:57:18 · 290 阅读 · 0 评论 -
D. Shortest Cycle(鸽巢原理 + floyd求最小环)
题目链接————题目大意是给你一个节点数列,每一个数代表一个节点,若两个数按位与不等于零,则两个点之间有一个长度为 一的无向边,问可以形成的最小环是多少。思路:看别人博客一直不懂为什么大于128就输出3,今天看了CF评论区,有个dalao讲的太好了。I did it this way- The maximum number in the input is 10^18 which ca...原创 2019-08-21 10:21:15 · 310 阅读 · 0 评论 -
C. Round Corridor(思维 + 数论)
problem is here题意不大好说,先上图给你一个 n 和 m ,n是内圆的分块,m是外圆的分块,有一个条件就是 12点方向一定有一道黑线(表示墙 不连通)然后给你形如上述(1,2) (2,3)的一小块的标号,问这两是否连通。思路:我想弱弱问一句最大公因数的含义是什么。。这个题目正解是求n,m的gcd(n,m),代表着可分成gcd(n,m)块,每一块都是...原创 2019-08-12 01:24:41 · 365 阅读 · 0 评论 -
C. Common Divisors(公共除数)
题目链接————题意大致是:给你一个数列,然后求这个数列的公共除数的个数有多少?思路:求出这个数列的gcd。然后求出这个gcd的因子个数AC Code:#include<bits/stdc++.h>#define LL long long#define ULL unsigned long long#define maxn (LL)1e5#define IN...原创 2019-08-15 00:48:37 · 429 阅读 · 0 评论 -
hdu1163 Eddy's digital Roots(快速幂 + 九余数定理)
Problem DescriptionThe digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resu...原创 2019-08-06 08:42:33 · 249 阅读 · 0 评论 -
洛谷P1306 斐波那契公约数(斐波那锲性质 + 矩阵快速幂)
题目描述对于Fibonacci数列:1,1,2,3,5,8,13......大家应该很熟悉吧~~~但是现在有一个很“简单”问题:第n项和第m项的最大公约数是多少?Update:加入了一组数据。输入格式两个正整数n和m。(n,m<=10^9)注意:数据很大输出格式Fn和Fm的最大公约数。由于看了大数字就头晕,所以只要输出最后的8位数字就可以了。输入输出样例...原创 2019-07-27 01:12:08 · 185 阅读 · 0 评论