【数学】XMU 1597 GCD

题目链接:

  http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1597

题目大意

  求(am-bm, an-bn),结果取模1000000007,a,b互质(1<=b < a<= 1018,1<=m,n<=1018)

题目思路:

  【数论】

  gcd(am-bm,an-bn) mod p=(agcd(m,n)-bgcd(m,n))mod p=(a mod p)gcd(m,n) mod(p-1)-(b mod p)gcd(m,n) mod(p-1)

  快速幂。

 1 //
 2 //by coolxxx
 3 //
 4 #include<iostream>
 5 #include<algorithm>
 6 #include<string>
 7 #include<iomanip>
 8 #include<memory.h>
 9 #include<time.h>
10 #include<stdio.h>
11 #include<stdlib.h>
12 #include<string.h>
13 #include<stdbool.h>
14 #include<math.h>
15 #define min(a,b) ((a)<(b)?(a):(b))
16 #define max(a,b) ((a)>(b)?(a):(b))
17 #define abs(a) ((a)>0?(a):(-(a)))
18 #define lowbit(a) (a&(-a))
19 #define sqr(a) ((a)*(a))
20 #define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))
21 #define eps 1e-8
22 #define J 10
23 #define MAX 0x7f7f7f7f
24 #define PI 3.1415926535897
25 #define mod 1000000007
26 using namespace std;
27 long long n,m,lll,ans,cas;
28 long long a,b,aa,bb;
29 long long gcd(long long a,long long b)
30 {
31     if(!b)return a;
32     return gcd(b,a%b);
33 }
34 long long quickpow(long long a,long long n)
35 {
36     long long c=a,t=1;
37     while(n)
38     {
39         if(n&1)t=(t*c)%mod;
40         c=(c*c)%mod;
41         n>>=1;
42     }
43     return t;
44 }
45 int main()
46 {
47     #ifndef ONLINE_JUDGE
48 //    freopen("1.txt","r",stdin);
49 //    freopen("2.txt","w",stdout);
50     #endif
51     int i,j,k;
52 //    while(~scanf("%s",s1))
53 //    while(~scanf("%d",&n))
54 //    for(scanf("%d",&cas),l=1;l<=cas;l++)
55     while(~scanf("%lld%lld%lld%lld",&a,&b,&m,&n))
56     {
57         a=(a-1)%mod+1;
58         b=(b-1)%mod+1;
59         lll=gcd(m,n)%(mod-1);
60         aa=quickpow(a,lll);
61         bb=quickpow(b,lll);
62         ans=(aa-bb+mod)%mod;
63         printf("%lld\n",ans);
64     }
65     return 0;
66 }

时间: 2024-12-25 16:54:50

【数学】XMU 1597 GCD的相关文章

基本算法入门

1.贪心,递推,基础DP(背包,区间DP,状态压缩DP(去年出了不少于2道铜牌题,看着办)) 2.搜索(BFS,DFS,A*,IDA*) 3.单调队列.单调栈的思想,倍增算法(ST表)  (重点左边3个东西在DP优化上的应用,简单讲一下平行四边形法则.斜率优化) 4.线段树,树状数组 5.树(包括并查集,生成树,树的一些经典问题(LCA,这里顺便讲解一下树的深度序列转区间问题),经典计数(树DP)) 6.图论基本问题(DAG图的拓扑排序,最短路算法floyd,dijstra,spfa(这里讲一下

【专题】数论

推荐:数论知识总结--史诗大作(这是一个flag) ---下面都是学习的笔记,还没有整理,比较凌乱,有需自取吧.---  [素数测试]Miller-Rabin算法 引用自:数论部分第一节:素数与素性测试 by Matrix67 当p为素数时,有 费马小定理:a^(p-1)=1(%p) Miller-Rabin测试:对于x^2=1(%p),有x=n-1或x=1(x^2-1=(x+1)(x-1)). 探测过程:对于一个底数(可随机)x=d*2^k,从d到x探测时候均符合d*2^k==1&&(d

数位DP复习小结

之前学数位dp的时候底子没打扎实 虚的要死 这次正好有时间……刷了刷之前没做的题目 感觉自己脑洞不太够……比较经典的题或者见过的类似模型就能自己推出来,但是没有见过的模型就虚的要死(比如二进制数位DP) 感谢WQ的帮助,让我对数位DP的理解逐渐加深 那么我们总结一下这次做的题目…… bzoj4521 记忆化搜索即可,水爆 1 #include <cstring> 2 #include <cstdio> 3 using namespace std; 4 #define RG regi

Hankson 的趣味题

Hanks 博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson 正在思考一个有趣的问题. 今天在课堂上,老师讲解了如何求两个正整数 c1 和 c2 的最大公约数和最小公倍数.现在Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个"求公约数"和"求公倍数"之类问题的"逆问题",这个问题是这样的:已知正整数 a0,a1,b0,b1,设某未知正整数 x 满足: 1.x和

【数学】XMU 1593 找数字

题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1593 题目大意: T组数据,n个数,只有一种出现q次,其余的出现p次.(1<=T<=100,1<=n<=107,1<p,q<200,gcd(p,q)=1) 题目思路: [数学] 我也不知道这题算不算数学类问题,总之我是不会做的.看了题解还是有些懵逼. 还是orz一下学长吧 我们想象一个简化版的:有n个数字,其中有1个数会出现1次,其余数都会出现两次,求出现1

HDU 5869 Different GCD Subarray Query 树状数组 + 一些数学背景

http://acm.hdu.edu.cn/showproblem.php?pid=5869 题意:给定一个数组,然后给出若干个询问,询问[L, R]中,有多少个子数组的gcd是不同的. 就是[L, R]中不同区间的gcd值,有多少个是不同的. 给个样例 3 37 7 71 21 33 3 数学背景: 一个数字和若N个数字不断GCD,其结果只有loga[i]种,为什么呢?因为可以把a[i]质因数分解,其数目最多是loga[i]个数字相乘.(最小的数字是2,那么loga[i]个2相乘也爆了a[i]

UVA12716 GCD XOR 数论数学构造

题目给你一个N,让你求 两个数字 A,B,且   A>=B<=N,是的 gcd(A,B) == A^B N的范围是 3*10^7大的吓人一开始没敢想构造,因为就算构造开的数组也太大了,已经10^7了,后来想了半天在^运算这里也没有想出来什么,所以没办法还是大胆构造吧,构造就去按照他题目的意思来了,构造两个数字 i,j其中j是i的倍数,那么j + i与i的最大公约数肯定是i了,那么(j+i)^i == i这样构造出来的就算满足了,然后再模仿gcd辗转相除的愿意  把它们放在一个数组里计数,这样预

数学(GCD,计数原理)HDU 5656 CA Loves GCD

CA Loves GCD Accepts: 135 Submissions: 586 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) 问题描述 CA喜欢是一个热爱党和人民的优秀同♂志,所以他也非常喜欢GCD(请在输入法中输入GCD得到CA喜欢GCD的原因). 现在他有N个不同的数,每次他会从中选出若干个(至少一个数),求出所有数的GCD然后放回去. 为了使自己不会无聊,CA会把每

HDU 5019 Revenge of GCD(数学)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5019 Problem Description In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more i