【jzoj4868】【Simple】【数论】
来源:互联网 发布:店铺优化是什么意思 编辑:程序博客网 时间:2024/06/11 11:03
题目大意
解题思路
最暴力的方法就是枚举x,就可以算出有多少种y,然而这会重复。发现这题的性质,就是扩展gcd,对于一个c若只有一个合法x就不会重复,相邻两个x间隔m/gcd(n,m),所以只要x在[0,m/gcd(n,m)-1]内就不会有重复。
code
#include<set>#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define LL long long#define LD double#define max(a,b) ((a>b)?a:b)#define min(a,b) ((a>b)?b:a)#define fo(i,j,k) for(LL i=j;i<=k;i++)#define fd(i,j,k) for(LL i=j;i>=k;i--)using namespace std;LL const inf=1e9;LL const maxn=300,maxm=1e5;LL t,n,m,q;LL gcd(LL x,LL y){ for(;x%y;){ LL z=x%y; x=y; y=z; } return y;}int main(){ freopen("simple.in","r",stdin); freopen("simple.out","w",stdout); scanf("%lld",&t); fo(cas,1,t){ scanf("%lld%lld%lld",&m,&n,&q); LL ans=0,gc=gcd(n,m),mx=min(m/gc-1,q/n); fo(x,0,mx) ans+=(q-n*x)/m+1; printf("%lld\n",q-(ans-1)); } return 0;}
0 0
- 【jzoj4868】【Simple】【数论】
- JZOJ4868. 【NOIP2016提高A组集训第9场11.7】Simple
- 【JZOJ4868】【NOIP2016提高A组集训第9场11.7】Simple
- 【数论】hdu4143 A Simple Problem
- hdu4143 A Simple Problem(数论)
- hdu 2451 Simple Addition Expression 数论
- hdu 4143 A Simple Problem 数论
- ural 2003. Simple Magic 数论 因数分解
- hdu 5490 Simple Matrix(数论)
- NOIP2016 模拟赛 By C_SUNSHINE Simple 数论
- HDU 5974 A Simple Math Problem(数论)
- LA 4998 Simple Encryption (数论 dfs)
- [HDU](5974)A Simple Math Problem ---数论
- HDU3483 A Very Simple Problem 数论+矩阵的应用
- HDU 4143 A Simple Problem(数论-水题)
- HDU 5974 A Simple Math Problem 数论 gcd
- HDU 5974 A Simple Math Problem (数论+解方程组)
- HDU 5974 A Simple Math Problem(数论)
- 各大排序算法性能比较
- Linux 使用
- ios developer tiny share-20161026
- 不知道是第几次遇到outofmemory错误
- mysql 日志文件
- 【jzoj4868】【Simple】【数论】
- Qt 储存软件窗口最后的关闭时的状态
- PHP常用的四种排序
- 雅思写作中地道的转折方式
- 一天一条Linux指令-top
- Android添加事件到日历
- SourceInsight Document Options Dialog box
- MySQL基本语句
- 从一元回归到多元 | 计量经济学