数论只会G C D
蒟蒻的ACMer
2014界大学新生
展开
-
山东省第四届ACM大学生程序设计竞赛 A^X mod P
A^X mod P Time Limit: 5000MS Memory limit: 65536K 题目描述It's easy for ACMer to calculate A^X mod P. Now given seven integers n, A, K, a, b, m, P, and a function f(x) which defined as follo原创 2016-04-12 15:11:10 · 667 阅读 · 0 评论 -
poj 1061 青蛙的约会 扩展gcd的简单应用
题意:青蛙a与青蛙b在一条长为l的环上的x点和y点同时向前跳已知青蛙a一次跳m米青蛙b一次跳n米问最少跳几次2个青蛙能相遇。分析:根据题意可以列出方程组 (x+m*t)-(y+n*t)=p*---l---①(其中t为跳的次数 p是圈数在第p圈后相遇)那么可以转化公式①为(n-m)*t+p*l=x-y-----②这时候联想到扩展gcd ax+by=gcd(a,b)-----原创 2016-07-30 16:54:20 · 351 阅读 · 0 评论 -
poj 2142 The Balance
题意:给你两种不同重量的砝码a,b问如何用最少的a,b使得加上重量为c的物品能放在天平上并保持平衡令a使用x个b使用y个 那么 ax-by=c 或者 -ax+by=c 我们可以转化求ax+by=c 然后使得abs(x)+abs(y)的值最小对于ax+by=c我们可以求ax/d+bx/d=1 其中d=gcd(a,b) 利用扩展gcd分别求出x和y最小正整数然后比较那种情况下的ab原创 2016-08-01 09:38:19 · 464 阅读 · 0 评论 -
POJ 2891 Strange Way to Express Integers 扩展gcd
题意:求一个最小的数使得这个数对ai取余为bi如果不存在则输出-1首先讨论只有2组数的情况 设这个要求的数为 m 那么有 a1*x+b1=a2*y+b2=m可以转化为 a1*x-a2*y=b2-b1那么可以套用ex_gcd求出一个通解x0 x0=(x0*(b2-b1)/gcd(a1,a2)%t+t)%t 保证是最小正解 t=a2/gcd(a1,a2);当然如果(b2-b1)%g原创 2016-08-01 11:49:50 · 765 阅读 · 0 评论 -
POJ 2115 C Looooops 扩展gcd
很裸的扩展gcd 3月份做过一次 不过那时候稀里糊涂不求甚解 最近又好好看了下扩展gcd 这就一sb题ACcode:#include #include #define ll long longusing namespace std;ll ex_gcd(ll a,ll b,ll &x,ll &y){ if(a==0&&b==0)return -1; if(b==0){原创 2016-08-01 14:25:52 · 331 阅读 · 0 评论 -
HDU 1573 X问题
这题和poj 2891类似 可以用扩展gcd解之 因为循环求出的解中 b1为所求的最小解 而a1巧好为 a【i】数组的lcm我们知道要使得一个数满足题意要求那么这个数满足 b1(求出的最小解)+lcm*t这样t就是我们所要求的 注意特判b1为0的情况bACcode:#include #define maxn 100#define ll long longusing nam原创 2016-08-01 16:36:05 · 363 阅读 · 0 评论 -
POJ 2417 && POJ 3243 求解高次同余方程 BSGS
题意: 对于A^X===B(mod C)中当A,B,C已知的情况下求X算法流程如下:i)for i=0 i to100 if(A^i===B(mod c)) 那么i就是答案 否则执行下一步ii)令d=0,D=1 执行下叙循环 while((tmp=gcd(A,C))!=1){ if(B%tmp)return -1; ++d; C/=tmp; B/=tmp;原创 2016-08-02 10:59:32 · 474 阅读 · 0 评论 -
hdu 4990 Reading comprehension
题意:给定一个序列 可以知道 f[i]=f[i-1]*2+((i-1)%2==1);分析:我们可以构造矩阵来加速递推因为假设i是一个奇数f【i+2】=2*f【i+1】+1=2*2*f【i】+1 f【i+3】=2*f【i+2】=2*(2*f【i+1】+1)=4*f【i+1】+2;那么可以得到 f【i】 1 乘 4 0 得到 f【i+2】 1原创 2016-09-23 19:29:09 · 313 阅读 · 0 评论 -
POJ 2886 反素数+线段树
题意:N个人进行约瑟夫环游戏第i轮的人能获得p(i)个糖果求获得最多糖果的人和糖果数p(i)为数i的因子的个数分析:约瑟夫环可以用线段树模拟下一次出局的人(因为每一次出局一个人所有的人的下标都回改变)知识点:反素数对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0因为我们要求的是最大的p(i)1ACcode:原创 2017-04-11 16:02:43 · 457 阅读 · 0 评论 -
poj 1845 数论
题意:求A^B所有因子的和模9901的值分析:对于A我们可以分解为 所以A^B可以分解为那么所求的值为: 等比数列求和以为涉及除法和模所以需要逆元参考http://blog.csdn.net/acdreamers/article/details/8220787blogACcode:#include #include #include #include #原创 2017-04-01 20:31:22 · 277 阅读 · 0 评论 -
sdut 3256 BIGZHUGOD and His Friends II
BIGZHUGOD and His Friends IITime Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述BIGZHUGOD and his three friends are playing a game in a triangle ground.The number of BIG原创 2016-05-21 20:51:45 · 572 阅读 · 0 评论 -
HDU The Last Practice
The Last Practice Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 42 Accepted Submission(s) : 10Font: Times New Roman | Verdana | Georgi原创 2015-05-26 13:20:14 · 859 阅读 · 0 评论 -
HUD 4704 Sum 费马小定理和快速幂
给定s(k)为k的划分数求划分数的个数比如当n=4时候s(1)=(4)…………………………1s(2)=(2,2)(1,3)(3,1)………3s(3)=(1,1,2)(1,2,1)(2,1,1)……3s(4)=(1,1,1,1)……………………1所以是1+3+3+1=8多列几个会发现要求的是2^(n-1)然后1这时候有个定理叫 费马小定理费马小定理(Fer原创 2016-03-29 17:51:46 · 533 阅读 · 0 评论 -
4715 Difference Between Primes 打表
Difference Between PrimesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3339 Accepted Submission(s): 953Problem DescriptionA原创 2016-05-01 20:05:45 · 405 阅读 · 0 评论 -
SPOJ 7001. Visible Lattice Points 莫比乌斯反演
A - 莫比乌斯反演Time Limit:1368MS Memory Limit:1572864KB 64bit IO Format:%lld & %lluSubmitStatusDescriptionConsider a N*N*N lattice. One corner is at (0,0,0) and the opposite one is原创 2016-04-19 14:25:43 · 357 阅读 · 0 评论 -
南京理工校赛 triple
triple Time Limit: 3000MSMemory Limit: 65536KBDescription给出一个整数n,表示1,2,...,n。从这n个数中任意选择3个不同的数字x,y,z,问x,y,z的最大公约数等于m的方案有多少种?(注意:(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)属于同一种方案)原创 2016-04-19 15:49:11 · 436 阅读 · 0 评论 -
南京理工校赛 c count_prime 容斥原理 求(1,r)与n互质模板
count_prime Time Limit: 1000msMemory Limit: 65536KBDescription给定你一个数n,请你统计出在[a,b]这个区间中和n互质的数的个数。两个数互质当且仅当他们除了1之外没有其他的公共因子或者他们最大的公共因子是1。1和任何数是互素的。Input第一行输入一个整数T(1 Output输出一原创 2016-04-19 19:25:36 · 625 阅读 · 0 评论 -
sdut 3258 Square Number 打表
Square NumberTime Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述In mathematics, a square number is an integer that is the square of an integer. In other words, it is the原创 2016-05-20 15:21:32 · 704 阅读 · 0 评论 -
sdut 3257 Cube number
Cube NumberTime Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^题目描述In mathematics, a cube number is an integer that is the cube of an integer. In other words, it is the produc原创 2016-05-20 20:00:04 · 712 阅读 · 0 评论 -
POJ 2242 The Circumference of the Circle 简单数学
The Circumference of the CircleTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7848 Accepted: 4766DescriptionTo calculate the circumference of a circle se原创 2015-08-05 19:51:58 · 761 阅读 · 0 评论 -
HDU 人见人爱A^B
人见人爱A^B Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 55 Accepted Submission(s) : 31Font: Times New Roman | Verdana | Georgia Font S原创 2015-05-27 08:58:26 · 1384 阅读 · 0 评论 -
HDU 5980 Find Small A
题意:给N个数 每个数都可以拆开成一个32位的2进制 每八位一个字节 每个字节的2进制数换算成十进制的看有多少个97分析:直接%256然后判断是否等于97就okACcode:#include #define ll long longusing namespace std;int main(){ int n; while(scanf("%d",&n)!=E原创 2017-05-01 14:56:33 · 287 阅读 · 0 评论