题目链接:

  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)

  快速幂。

 //
//by coolxxx
//
#include<iostream>
#include<algorithm>
#include<string>
#include<iomanip>
#include<memory.h>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>
#include<math.h>
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
#define abs(a) ((a)>0?(a):(-(a)))
#define lowbit(a) (a&(-a))
#define sqr(a) ((a)*(a))
#define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))
#define eps 1e-8
#define J 10
#define MAX 0x7f7f7f7f
#define PI 3.1415926535897
#define mod 1000000007
using namespace std;
long long n,m,lll,ans,cas;
long long a,b,aa,bb;
long long gcd(long long a,long long b)
{
if(!b)return a;
return gcd(b,a%b);
}
long long quickpow(long long a,long long n)
{
long long c=a,t=;
while(n)
{
if(n&)t=(t*c)%mod;
c=(c*c)%mod;
n>>=;
}
return t;
}
int main()
{
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
// freopen("2.txt","w",stdout);
#endif
int i,j,k;
// while(~scanf("%s",s1))
// while(~scanf("%d",&n))
// for(scanf("%d",&cas),l=1;l<=cas;l++)
while(~scanf("%lld%lld%lld%lld",&a,&b,&m,&n))
{
a=(a-)%mod+;
b=(b-)%mod+;
lll=gcd(m,n)%(mod-);
aa=quickpow(a,lll);
bb=quickpow(b,lll);
ans=(aa-bb+mod)%mod;
printf("%lld\n",ans);
}
return ;
}

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

  1. 数学(动态规划,GCD):COGS 469. [NOI2010]能量采集

    能量采集 ★★☆   输入文件:energy2010.in   输出文件:energy2010.out   简单对比 时间限制:1 s   内存限制:512 MB [问题描述] 栋栋有一块长方形的地, ...

  2. Tony的口胡呼呼(。-ω-)zzz

    三分 给定平面内 \(n <= 2000\) 个节点, 求平面内一点使得到所有点的欧几里得距离和最小 确定 \(y\) 轴时 \(x\) 轴满足单峰函数 \(x\) 轴同理 三分套三分即可 深度 ...

  3. 数位DP复习小结

    转载请注明原文地址http://www.cnblogs.com/LadyLex/p/8490222.html 之前学数位dp的时候底子没打扎实 虚的要死 这次正好有时间……刷了刷之前没做的题目 感觉自 ...

  4. 2014 SCAU_ACM 暑期集训

    暑期集训,希望能在这段时间获得对得起自己的提升吧 时间:7.11~8.30 集训各专题内容: 1.贪心,递推,基础DP(背包,区间DP,状态压缩DP(去年出了不少于2道铜牌题,看着办)) 2.搜索(B ...

  5. 【数学】XMU 1593 找数字

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1593 题目大意: T组数据,n个数,只有一种出现q次,其余的出现p次.(1<=T ...

  6. 数学 赛码 1010 GCD

    题目传送门 /* 数学:官方题解 首先,数组中每个元素至少是1 然后对于任意一个询问Li, Ri, Ansi, 说明Li ~ Ri中的元素必定是Ansi的倍数,那么只需将其与Ansi取最小公倍数即可 ...

  7. 【数学】【模拟】XMU 1044 伪伪随机数产生器

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1044 题目大意: 求首项为0,公比为x的等差数列组成的数字条的第y位数字是几.(x,y ...

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

    http://acm.hdu.edu.cn/showproblem.php?pid=5869 题意:给定一个数组,然后给出若干个询问,询问[L, R]中,有多少个子数组的gcd是不同的. 就是[L, ...

  9. HDU 5726 GCD (2016多校、二分、ST表处理区间GCD、数学)

    题目链接 题意 : 给出一个有 N 个数字的整数数列.给出 Q 个问询.每次问询给出一个区间.用 ( L.R ) 表示.要你统计这个整数数列所有的子区间中有多少个和 GCD( L ~ R ) 相等.输 ...

随机推荐

  1. [Angular 2] NgNonBindable

    If you want to print someting like {{content}} on the html, using ng-non-bindable directive: <div ...

  2. Linux CPU数量判断,通过/proc/cpuinfo.

    Linux CPU数量判断,通过/proc/cpuinfo. 相同 physical id :决定一个物理处理器 如果“siblings”和“cpu cores”一致,则说明不支持超线程,或者超线程未 ...

  3. Quartz contention when running in load balanced environment--reference

    1.8.3 appears to have addressed this issue with a single application server. However, we're seeing t ...

  4. sdaf

  5. stl_alloc.h

    /* * Copyright (c) 1996-1997 * Silicon Graphics Computer Systems, Inc. * * Permission to use, copy, ...

  6. 9.7noip模拟试题

    题目名称 日历游戏 最大公约数 密码 英文代号 calendar gcd pasuwado 输入文件名 calendar.in gcd.in pasuwado.in 输出文件名 calendar.ou ...

  7. jquer “$” 扩展(笔记)

    /** * Created by shanruo on 16-03-10. */ (function ( $ ){ $.extend ({ /* * 根据参数名获取参数 @name String 参数 ...

  8. ie6-7 overflow:hidden失效问题的解决方法

    即使父元素设置了overflow:hidden.解决这个bug很简单,在父元素中使用position:relative; zoom: 1;触发haslayout 即可解决该BUG.

  9. android Editview中加小图标或者文字实现

    关于这个问题,如果只是加小图标的话,已经提供了很好的支持,drawableLeft属性就可以设置左边的小图标,类推,右边也可以 不过如果你要加的是文字,我找了下,没有相应的属性,我们只能通过转换思路去 ...

  10. ASP.NET Core中使用Razor视图引擎渲染视图为字符串

    一.前言 在有些项目需求上或许需要根据模板生产静态页面,那么你一样可以用Razor语法去直接解析你的页面从而把解析的页面生成静态页,这样的使用场景很多,不限于生成静态页面,视图引擎为我们提供了模型到视 ...