https://vjudge.net/contest/317000#problem/F

#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
#define inf 2147483647
#define P 998244353
#define p(a) putchar(a)
#define For(i,a,b) for(long long i=a;i<=b;++i) using namespace std;
long long T;
long long n,a,b,c;
struct data{
long long f,g,h;
data calc(long long n,long long a,long long b,long long c){
long long ac = a / c, bc = b / c, m = (a * n + b) / c, n1 = n + , n21 = n * + ;
data d;
if (a == ) {
d.f = bc * n1;
d.g = bc * n * n1 /;
d.h = bc * bc * n1;
return d;
} if (a >= c || b >= c){
d.f = n * n1 / * ac + bc * n1;
d.g = ac * n * n1 * n21 / + bc * n * n1 / ;
d.h = ac * ac * n * n1 * n21 / + bc * bc * n1 + ac * bc * n * n1;
data e = calc(n, a % c, b % c, c);
d.h += e.h + * bc * e.f + * ac * e.g;
d.g += e.g, d.f += e.f;
return d;
} data e = calc(m - , c, c - b - , a);
d.f = n * m - e.f, d.f = d.f;
d.g = m * n * n1 - e.h - e.f, d.g = d.g /;
d.h = n * m * (m + ) - * e.g - * e.f - d.f;
return d;
}
}ans1,ans2; void in(long long &x){
long long y=;char c=getchar();x=;
while(c<''||c>''){if(c=='-')y=-;c=getchar();}
while(c<=''&&c>=''){ x=(x<<)+(x<<)+c-'';c=getchar();}
x*=y;
}
void o(long long x){
if(x<){p('-');x=-x;}
if(x>)o(x/);
p(x%+'');
} signed main(){
in(T);
while(T--){
in(a);in(c);in(n);
ans1=ans1.calc(n,a,,);
ans2=ans2.calc(n,a,,c);
o(ans1.f-c*ans2.f);p('\n');
}
return ;
}

It's a Mod, Mod, Mod, Mod World (类欧几里得模板题的更多相关文章

  1. Kattis - itsamodmodmodmodworld It's a Mod, Mod, Mod, Mod World (类欧几里得)

    题意:计算$\sum\limits_{i=1}^n[(p{\cdot }i)\bmod{q}]$ 类欧模板题,首先作转化$\sum\limits_{i=1}^n[(p{\cdot}i)\bmod{q} ...

  2. 初等变换求 |A| % Mod & A- % Mod & A* % Mod(模板)

    // |A| * A- = A* (伴随矩阵) = 逆矩阵 * 矩阵的值 #include<cstdio> #include<cstring> #include<cstd ...

  3. 2^x mod n = 1(欧拉定理,欧拉函数,快速幂乘)

    2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  4. x^a=b(mod c)求解x在[0,c-1]上解的个数模板+原根求法

    /************************************* 求解x^a=b(mod c) x在[0,c-1]上解的个数模板 输入:1e9>=a,b>=1,1e9>= ...

  5. 类扩展欧几里得 zquoj 26659

    求该式子,因为只有里面mod  外面没mod: 所以先是把前面的等差数列求和,然后再减去模掉的部分: 这是类欧几里得模板题 #include<bits/stdc++.h> #define ...

  6. ACM模板(持续补完)

    1.KMP #include<cstring> #include<algorithm> #include<cstdio> using namespace std; ...

  7. BZOJ平推计划

    学习VFK大神推BZOJ,记录一下学习的东西 1004: burnside:一个置换群的等价计数=(每个置换的置换后等价情况数)/置换总数,每个置换的置换后等价情况数就是置换后没变的数 模意义下的除法 ...

  8. poj 1061 青蛙的约会 拓展欧几里得模板

    // poj 1061 青蛙的约会 拓展欧几里得模板 // 注意进行exgcd时,保证a,b是正数,最后的答案如果是负数,要加上一个膜 #include <cstdio> #include ...

  9. 【BZOJ】1407 NOI 2002 荒岛野人Savage

    拓展欧几里得入门题 两个野人若要走到同一个洞穴,设他们走了x步,则p[i]*x+c[i]≡p[j]*x+c[j](mod ans),ans即答案: 移项得到(p[i]-p[j])*X+ansY=c[j ...

随机推荐

  1. 基于Netty的RPC架构学习笔记(八):protocol buff学习使用

    文章目录 简介 准备 protobuf配置文件 生成java代码 举个

  2. 【JUC】JDK1.8源码分析之AbstractQueuedSynchronizer

    一.前言 在锁框架中,AbstractQueuedSynchronizer抽象类可以毫不夸张的说,占据着核心地位,它提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.所以很有必 ...

  3. spark集群进入 bin 下面目录./spark-shell 出现Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    spark集群启动的时候可以正常,进入 ./spark-shell 就会出现如下错误 配置文件:spark-env.sh export JAVA_HOME=/usr/java/jdk1.7.0_51e ...

  4. 如何通过SVN管理好代码

    来自:http://blog.csdn.net/baronyang/article/details/6942434 ------------------------------------------ ...

  5. capserjs-prototype(中)

    evaluateOrDie() 具体样式: evaluateOrDie(Function fn[, String message, int status]) Evaluates an expressi ...

  6. Altera的primary register和secondary register

    在Altera的一些IP文档上,提到IP的资源使用情况时,会有primary logic register和secondary logic register这样的术语. 那么什么是primary/se ...

  7. python 之单例模式

    单例模式1 单例=>只有一个单例2 静态方法+静态字段3 所有实例中等转的内容相同时 用单例模式class Sqllite: __instance=None def __init__(self) ...

  8. JS函数进阶

    函数的定义方式 函数声明 函数表达式 new Function 函数声明  function foo () { } 函数表达式  var foo = function () { ​ } 函数声明与函数 ...

  9. thinkphp 包含文件

    在当前模版文件中包含其他的模版文件使用include标签,标签用法: <include file='模版表达式或者模版文件1,模版表达式或者模版文件2,...' /> 博智达直线电机价格 ...

  10. Vue+Iview+Node 项目结构和配置

    1.项目调整后的目录 api:数据接口定义 assets:静态文件 components:组件  config:项目相关配置  driective:指令   router:路由   store:状态管 ...