求该式子,因为只有里面mod  外面没mod;

所以先是把前面的等差数列求和,然后再减去模掉的部分;

这是类欧几里得模板题

 #include<bits/stdc++.h>
#define pd putchar(' ')
#define pn putchar('\n')
#define pb push_back
#define fi first
#define se second
#define f1(i,j,n) for(int i=j;i<n;i++)
#define f2(i,j,n) for(int i=j;i<=n;i++)
#define mem(i,j) memset(i,j,sizeof(i))
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define ll long long
#define jiasu ios::sync_with_stdio(false)
#define P1 printf("YES\n")
#define P2 printf("NO\n")
const ll mod = 1e9 + ;
const ll maxn = 1e5 + ;
const double eps = 1e- ;
using namespace std;
ll solve(ll a,ll b,ll c,ll n){ //a 公差 b 首项 c 除数 n 项数
if(n==) return b/c;
if(n<=) return ;
ll ans=(a/c)*((n-)*n/);
ans+=(b/c)*n;
a%=c;b%=c;
if(a==)return ans;
return ans+solve(c,(a*n+b)%c,a,(a*n+b)/c);
}
int main()
{
int t;
scanf("%d",&t);
while(t--){
ll p,q,n;
scanf("%lld%lld%lld",&p,&q,&n);
ll sum=p*n*(n+)/;
ll res=solve(p,p,q,n)*q;
printf("%lld\n",sum-res);
}
return ;
}

类扩展欧几里得 zquoj 26659的更多相关文章

  1. poj 2142 扩展欧几里得解ax+by=c

    原题实际上就是求方程a*x+b*y=d的一个特解,要求这个特解满足|x|+|y|最小 套模式+一点YY就行了 总结一下这类问题的解法: 对于方程ax+by=c 设tm=gcd(a,b) 先用扩展欧几里 ...

  2. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) C.Ray Tracing (模拟或扩展欧几里得)

    http://codeforces.com/contest/724/problem/C 题目大意: 在一个n*m的盒子里,从(0,0)射出一条每秒位移为(1,1)的射线,遵从反射定律,给出k个点,求射 ...

  3. UVA 12169 Disgruntled Judge 枚举+扩展欧几里得

    题目大意:有3个整数 x[1], a, b 满足递推式x[i]=(a*x[i-1]+b)mod 10001.由这个递推式计算出了长度为2T的数列,现在要求输入x[1],x[3],......x[2T- ...

  4. UVA 10090 Marbles 扩展欧几里得

    来源:http://www.cnblogs.com/zxhl/p/5106678.html 大致题意:给你n个球,给你两种盒子.第一种盒子每个盒子c1美元,可以恰好装n1个球:第二种盒子每个盒子c2元 ...

  5. POJ 1061 青蛙的约会 扩展欧几里得

    扩展欧几里得模板套一下就A了,不过要注意刚好整除的时候,代码中有注释 #include <iostream> #include <cstdio> #include <cs ...

  6. 【64测试20161112】【Catalan数】【数论】【扩展欧几里得】【逆】

    Problem: n个人(偶数)排队,排两行,每一行的身高依次递增,且第二行的人的身高大于对应的第一行的人,问有多少种方案.mod 1e9+9 Solution: 这道题由1,2,5,14 应该想到C ...

  7. poj 2891 扩展欧几里得迭代解同余方程组

    Reference: http://www.cnblogs.com/ka200812/archive/2011/09/02/2164404.html 之前说过中国剩余定理传统解法的条件是m[i]两两互 ...

  8. poj 1061 扩展欧几里得解同余方程(求最小非负整数解)

    题目可以转化成求关于t的同余方程的最小非负数解: x+m*t≡y+n*t (mod L) 该方程又可以转化成: k*L+(n-m)*t=x-y 利用扩展欧几里得可以解决这个问题: eg:对于方程ax+ ...

  9. Codeforces7C 扩展欧几里得

    Line Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submit Status ...

随机推荐

  1. 莫凡_linux

    1.安装软件 2.基本命令ls和cd cd 指令 第一个要知道的指令就是怎么样去到你想去的地方. cd (Change Directory) 就是干这个的. 找到 Linux 的 terminal 窗 ...

  2. LED Keychain: Timeless Business Gift

    Every business owner understands the importance of reducing marketing budgets and investing in sales ...

  3. Vue中常见参数传递方式

    文章内容:这里只有vue中父子组件传参.路由间的传参 (另外还有vuex.储存本地.中央bus等方式) 一.父子组件 1.1父传子(props) <!-- 父组件father.vue --> ...

  4. ueditor使用本地保存,自动恢复上次编辑的内容

    个人博客 地址:http://www.wenhaofan.com/article/20180912212800 ueditor默认开启了自动保存至本地的功能,但是依然需要在初始化的时候额外添加代码该功 ...

  5. gitlab 更换服务器后访问 Integrations 出现 500 错误

    异常问题解决方案:问题:gitlab 更换服务器后访问 Integrations 出现 500 错误解决方案:从原服务器上将 /etc/gitlab/gitlab-secrets.json 复制过来覆 ...

  6. mybatis一对多 多对一 多对多

    https://blog.csdn.net/AdminGuan/article/details/98952484   Mybatis的Mapper该如何编写多对一? 很简单,就是在resultMap标 ...

  7. JDBC获取超出最大连接的连接池对象

  8. Qt中的Label和PushButton背景图自动缩放设置

    Label 背景图自动缩放 QPixmap* pixmap = new QPixmap(":/images/HeadIcon/1.png"); pixmap->scaled( ...

  9. git回退版本: 回退本地代码版本 + 回退服务器代码版本

    1.回退本地代码版本 借助IDEA开发工具回退版本,点击Version Control ,查看历史版本号: 右击想要回退的版本号,选择Reset Current Branch hear... 选择 H ...

  10. ubuntu18+caffe+cuda

    昨天安装caffe,因为用的是cuda10.2,遇到各种问题,最终也没有安装成功.使用cmake配置成功.生成成功.编译的时候报错. /usr/local/cuda/include/cuda_runt ...