
【数论】
WangMeow
这个作者很懒,什么都没留下…
展开
-
[HDU](1576) A/B ----扩展欧几里德(数论)
A/BTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5717 Accepted Submission(s): 4481Problem Description要求(A/B)%9973,但由于A很大,我们原创 2017-05-20 15:36:24 · 346 阅读 · 0 评论 -
[UVA](11426)GCD - Extreme (II) ---- 欧拉函数★
题目链接做法:题意很清晰,但是肯定不可以像题中的代码一样暴力求。看了刘汝佳老师的紫书,对这道题的求解感叹!说一下自己的理解:for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) ans+=gcd(i,j); j i 1 2 3 4 51 1,2...原创 2018-08-15 09:51:30 · 201 阅读 · 0 评论 -
[BZOJ](2818)Gcd ---- 欧拉函数★
题目链接做法:与UVA11426的原理相同,这里就不细说了,因为几乎一模一样。这个题让我们求满足1<=x,y<=n 在[1,n] 这个区间里面gcd(x,y) = 素数的个数所以我们可以打一个素数表,去枚举它们的倍数的n 来求满足 gcd(x/i,y/i) = 1 的x/i的个数有phi[y/i] 个 (i是质数)当x/i == y/i 的时候就是phi[y/i] 个,否则...原创 2018-08-15 21:46:19 · 475 阅读 · 0 评论 -
[HDU](1695)GCD ---- 欧拉函数★ + 容斥原理★
题目链接感慨:发现欧拉函数真的在数论中非常容易用到,它真的不仅仅是它定义的那样简单,它有很多妙用! 做法:题意向我们保证a = c =1; 所谓问题就变成了 有多少对(x,y)使得gcd(x,y) = k 并且x ∈[1, b], y ∈ [1, d] 利用欧拉函数思想,可以把gcd(x,y) = k 转化成 gcd(x/k,y/k) = 1 即找互质对数 我们可以把b设为小的那个,保...原创 2018-08-18 22:18:05 · 188 阅读 · 0 评论 -
[HDU](6390)GuGuFishtion ---- 欧拉函数★ + 容斥原理
题目链接做法:首先根据唯一分解定理可知道,每个正整数都可以分解成质数幂的成绩 然后我们带入到原式中去(原谅我的字不好看(T▽T))我们就可以推出结论 听了dls的直播讲解后,说一下我的理解: 我们知道原暴力求答案复杂度是O(n*m) 但是转换成结论后,我们可以根据gcd的性质来求解 我们知道gcd(a,b) = d, d一定是a,b的公共因子,也一定能写成质...原创 2018-08-17 15:00:58 · 179 阅读 · 0 评论 -
[UPC](5222)Sum of the Line ---- 容斥原理★
题目链接Hint: ACM-ICPC 2017 Asia Urumqi: K. Sum of the Line做法:通过打表或手写,我们很容易发现,第k行的S就是gcd(x,k) = x 的平方和当k为奇数时,我们可以直接利用 1^2 +2^2 +3^2 +4^2 +...+n^2 = n(n+1)(2n+1)/6 来求当k为偶数时。比如k = 4时那一行的T 为 1 ...原创 2018-08-25 22:08:18 · 188 阅读 · 0 评论 -
【ACM-ICPC 2018 南京赛区网络预赛】J题 Sum ---- 积性函数线性筛+思维★
题目链接做法:通过打表找规律,我们发现所有情况可以分为三类。我们把一个n 设为 n = p^k * x (p为质数),这里的x可能为质数也可能为合数 注:如果x与p互质,满足积性函数的性质,f[n] = f[p]*f[x] 筛法: 1.f[p] = 2 ,f[p^2] = 1 2.若i % p!=0,f[i * p] = f[i] * f[p] 积性函数 3.若i % (p * ...原创 2018-09-03 21:16:48 · 206 阅读 · 3 评论 -
【ACM-ICPC 2018 焦作赛区网络预赛】G题Give Candies ---- 费马小定理优化快速幂+模拟大数取模
题目链接做法:一、优化快速幂:前提p为质数, gcd(a,p) = 1 对于计算a^b % p 可优化: a^b % p = a^(b%(p-1))%p 证明:设b = kp+x a^b % p = a^(kp+x) % p = a^kp * a^x mod p 由费马小定理a^p % p = a % p 可以将 a^kp % p 化简为 a^k % p 所以上述等式 = a^...原创 2018-09-16 20:20:44 · 198 阅读 · 0 评论 -
[牛客]Wannafly挑战赛22 A.计数器 ---- 裴蜀定理+扩展欧几里得
题目任意门做法:裴蜀定理:若a,b是整数,且(a,b)=d,那么对于任意的整数x,y,ax+by=k中的k一定是d的倍数。 现在我们知道n个数,a1,a2,a3,……,an。我们把他们通过gcd联系起来 设gcd(a1,a2,a3,……,an) = p 那么一定存在一组解k1,k2,……,kn 使得 a1*k1+a2*k2+……+an*kn = k*P (k为任意整数) 即裴...原创 2018-09-12 19:58:14 · 298 阅读 · 0 评论 -
[HDU](5514)Frogs ---- 技巧容斥原理★
题目传送门Hint: 2015ACM/ICPC亚洲区沈阳站总结:指数型的容斥一定会超时……TLE到哭 无可奈何只好赛后去看了题解,才发现容斥才可这样写 重点是用vis[i]-num[i]来求m所有因子的对结果贡献(这个真的是很有技巧的想法)AC代码:#include<bits/stdc++.h>#define IO ios_base::syn...原创 2018-10-02 10:34:53 · 183 阅读 · 0 评论 -
Codeforces Round #463 (Div. 1 + Div. 2, combined) C. Permutation Cycle ---- 思维+扩展欧几里得
题目传送门做法:题目中给的函数式递归定义的,递归终点是j为min时 f(i,j) = i 我们从样例中要规律,发现每个点都有某个确定的周期里面。 比如 6 5 8 3 4 1 9 2 7 6 ----> 1 1-----> 6 周期为2 即函数所表达的也是这个意思 接下来就需要抽象了,我们把1~n这几个数字抽象成图中的顶点,每个顶点的出度为1,入度也为1 这酱紫...原创 2018-09-21 17:13:38 · 154 阅读 · 0 评论 -
Codeforces Round #511 (Div. 2) C. Enlarge GCD ---- 思维+素数筛
题目传送门题意:让你删除一些数,使得剩余数的gcd尽可能大。做法:这里需要用思维想一下(`・ω・´) 我们先求出原来n个数的gcd,我们把每个数除以这个gcd得到的新的n个数他们有什么特征嘞? 对,他们这n个数,没有公因子了,但是两个数之间,三个数之间……都还可能存在它们的公因子 那么什么才会使原gcd变小,没错,互质的! 所以这个问题就转换成什么了呢?保留最多的数,使得这些...原创 2018-09-22 22:18:25 · 350 阅读 · 1 评论 -
[Codeforces-Gym] (101550E)Exponial ---- 广义欧拉定理降幂★
题目传送门 自己天真以为无法互质就没有办法降幂,其实还有广义欧拉定理!QAQ a^b mod c = a^(b mod phi(c) + phi(c)) 相关知识及其证明:求幂大法(广义欧拉定理)及其证明AC代码:#include<bits/stdc++.h>#define IO ios_base::sync_with_stdio(0)...原创 2018-10-06 21:58:18 · 445 阅读 · 0 评论 -
Codeforces Round #454 (Div. 1) D. Power Tower ---- 广义欧拉定理降幂★
公式:注意:比较大小以及使用map记忆化欧拉函数值,否则会WA or TLE自定义Mod,这种写法,会在快速幂中自行判断大小,比较无脑AC代码:#include<bits/stdc++.h>#define IO ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)#define pb(x) ...原创 2018-10-07 10:20:55 · 476 阅读 · 0 评论 -
【ACM-ICPC 2018 南京现场赛 】 J.Prime Game ---- 思维+素数筛
题目:做法: 计算出来每个数的质因子在各个区间的贡献。以第二组样例为例:第一个元素的素因子2:它能贡献的区间有[1,1],[1,2],……,[1,10] 10个区间第一个元素的素因子3:它能贡献的区间有[1,1],[1,2],……,[1,10] 10个区间当前sum = 10+10第二个元素的素因子7:它能贡献的区间有[1,2],[1,3],……,[1,10] 9个区...原创 2018-10-22 17:47:45 · 1648 阅读 · 2 评论 -
[JXOI2018]游戏 ---- 排列组合计数+筛法
题目描述九条可怜是一个热爱游戏的女孩子,她经常在网上和一些网友们玩一款叫做《僵尸危机》游戏。在这款游戏中,玩家们会需要在成为僵尸之前与黑恶势力斗智斗勇,逃离被病毒感染的小岛。但是黑恶势力不会让玩家轻易得逞,他会把一些玩家抓走改造成僵尸。变成僵尸的玩家会攻击其他的玩家,被攻击的玩家会被”感染”,成为病毒的潜在宿主。具体来说,游戏开始时,所有的玩家会获得一个L∼R的编号(如果一共有R−L+1个...原创 2018-08-05 09:19:58 · 286 阅读 · 0 评论 -
[HDU](6333)Problem B. Harvest of Apples ---- 数论+莫队算法
Problem DescriptionThere are n apples on a tree, numbered from 1 to n.Count the number of ways to pick at most m apples. InputThe first line of the input contains an integer T (1≤T≤1e5) denot...原创 2018-08-03 22:43:59 · 145 阅读 · 0 评论 -
[HDU](5974)A Simple Math Problem ---数论
Problem DescriptionGiven two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a原创 2017-10-16 16:46:36 · 291 阅读 · 0 评论 -
【数学知识整理】
知识点: 1.最大公约数可以用质因数分解求(这是我们小学就学过的),然后在程序设计中我们会采用辗转相除法(欧几里得原理)。2.两个数a和b的最大公约数为c,那么a/c与b/c互质。即两个整数分别除以它们的最大公约数,所得的商是互质数。(质因数分解) 扩展:若 i = a/c,j = b/c, 那么(i+j)与(i*j)也互质。例:HDU59743.const double PI = 4...原创 2017-10-15 21:32:45 · 208 阅读 · 0 评论 -
[51Nod](1136)欧拉函数 ---- 数论
对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler’s totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。Input输入一个数N。(2 <= N <= 10^9)Output输出Phi(n)。Input示例8...原创 2018-04-23 15:24:19 · 133 阅读 · 0 评论 -
[51Nod](1013)3的幂的和 ---- 除法模运算
求:3^0 + 3^1 +…+ 3^(N) mod 1000000007Input输入一个数N(0 <= N <= 10^9)Output输出:计算结果Input示例3Output示例40思路: 一开始wa了两次,发现不能很直白的就去取模,这样会有差错(因为不满足乘法模运算了)。 然后发现,可以把除法转换成乘法,即:(a/b)...原创 2018-04-13 17:16:46 · 135 阅读 · 0 评论 -
[51Nod](1352)集合计数 ---- 数论(扩展欧几里得求线性不定方程解的个数)
给出N个固定集合{1,N},{2,N-1},{3,N-2},…,{N-1,2},{N,1}.求出有多少个集合满足:第一个元素是A的倍数且第二个元素是B的倍数。提示:对于第二组测试数据,集合分别是:{1,10},{2,9},{3,8},{4,7},{5,6},{6,5},{7,4},{8,3},{9,2},{10,1}.满足条件的是第2个和第8个。Input第1行:1个整数T(1...原创 2018-04-30 17:59:19 · 300 阅读 · 0 评论 -
[51Nod](1035)最长的循环节 ---- 数论
正整数k的倒数1/k,写为10进制的小数如果为无限循环小数,则存在一个循环节,求<=n的数中,倒数循环节长度最长的那个数,假如存在多个最优的答案,输出所有答案中最大的那个数。1/6= 0.1(6) 循环节长度为1 1/7= 0.(142857) 循环节长度为6 1/9= 0.(1) 循环节长度为1Input输入n(10 <= n <= 1000)Ou...原创 2018-04-21 15:59:38 · 321 阅读 · 0 评论 -
[51Nod](1079)中国剩余定理 ---- 数论
一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K。例如,K % 2 = 1, K % 3 = 2, K % 5 = 3。符合条件的最小的K = 23。Input第1行:1个数N表示后面输入的质数及模的数量。(2 <= N <= 10) 第2 - N + 1行,每行2个数P和M,中间用空格分隔,P是质数,M是K % P的结果。(2 <= P <...原创 2018-05-17 18:39:59 · 146 阅读 · 0 评论 -
[POJ](1006)Biorhythms ---- 数论(中国剩余定理)
Some people believe that there are three cycles in a person’s life that start the day he or she is born. These three cycles are the physical, emotional, and intellectual cycles, and they have periods ...原创 2018-05-17 21:16:44 · 136 阅读 · 0 评论 -
[POJ](1061) 青蛙的约会 ---- 数论 (扩展欧几里得求解线性同余方程)
Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。...原创 2018-04-28 20:46:18 · 170 阅读 · 0 评论 -
[POJ](2891)Strange Way to Express Integers ---- 数论(线性同余方程组)
Elina is reading a book written by Rujia Liu, which introduces a strange way to express non-negative integers. The way is described as following: Choose k different positive integers a1, a2, …, ak. F...原创 2018-05-22 21:12:29 · 172 阅读 · 0 评论 -
[LightOJ](1370)Bi-shoe and Phi-shoe ---- 欧拉函数与素数筛(规律)
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...原创 2018-06-04 19:30:16 · 199 阅读 · 0 评论 -
[HDU](5446)Unknown Treasure ---- 组合数学(卢卡斯定理)+CRT
On the way to the next secret treasure hiding place, the mathematician discovered a cave unknown to the map. The mathematician entered the cave because it is there. Somewhere deep in the cave, she fou...原创 2018-05-28 21:37:59 · 208 阅读 · 0 评论 -
[UVA](10200)Prime Time ---- 前缀和+素数
Euler is a well-known matematician, and, among many other things, he discovered that the formula n 2 + n + 41 produces a prime for 0 ≤ n < 40. For n = 40, the formula produces 1681, which is 41 ∗...原创 2018-06-07 19:51:59 · 226 阅读 · 0 评论 -
[LightOJ](1236)Pairs Forming LCM ---- 唯一分解定理(质因数分解)
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) ...原创 2018-06-22 19:39:47 · 309 阅读 · 0 评论 -
【ACM-ICPC 2018 焦作赛区网络预赛】L. Poor God Water ---- 矩阵快速幂 or 杜教BM算法
题目传送门做法:我们设(肉,鱼,巧) —&amp;gt; (0,1,2)f(i,j,k) i表示第i小时,j表示当前状态,k表示上一状态 j,k ∈\in∈ (0,1,2)从n = 3 开始,我们利用后两项推前一项可得f(i,0,0)=f(i−1,0,1)+f(i−1,0,2)f(i,0,0)= f(i-1,0,1) + f(i-1,0,2)f(i,0,0)=f(i−1,0,1)+f(i...原创 2018-10-26 22:19:26 · 256 阅读 · 0 评论