Gym100920J
求Ax+By<=C,非负整数对(x,y)的个数
首先令y=0;则x<=(C/A);ans=(C/A)+1;
将Ax+By=C反转之后利用类欧几里得算法:f(a,b,c,n)=∑((a*i+b)/c) (0<=i<=n);求解

反转之后,a=A,b=C%A,c=b,n=C/A;
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define bug printf("bug\n");
#define N 1000005
#define pb emplace_back
#define fi first
#define se second
#define sc scanf
#define pf printf
#define Endl '\n'
using namespace std;
const ll inf=1e18;
const ll mod=;
ll qm(ll a,ll b){
ll ans=;
while(b){
if(b&)ans=ans*a%mod;
a=a*a%mod;b>>=;
}
return (ans%mod+mod)%mod;
}
ll cal(ll a,ll b,ll c,ll n){
if(a==)return (b/c)*(n+);
if(a>=c||b>=c)return cal(a%c,b%c,c,n)+n*(n+)*(a/c)/+(b/c)*(n+);
ll m=(a*n+b)/c;
return n*m-cal(c,c-b-,a,m-);
}
int main()
{ ios::sync_with_stdio(false);cin.tie();cout.tie();
ll a,b,c;
cin>>a>>b>>c;
cout<<cal(a,c%a,b,c/a)+c/a+<<endl; return ;
}
Gym100920J的更多相关文章
随机推荐
- 【node】node的核心模块---http模块,http的服务器和客户端
nodejs事件机制 ##### http服务器和客户端 node.js标准库提供了http模块,其中封装了一个高效的http服务器和一个简易的http客户端 HTTP服务器 1. http.crea ...
- runloop timer
RunLoop这个东西,其实我们一直在用,但一直没有很好地理解它,或者甚至没有知道它的存在.RunLoop可以说是每个线程都有的一个对象,是用来接受事件和分配任务的loop.永远不要手动创建一个run ...
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-5: ordin al not in range(128)——解决方案备注
在vim中使用ycm插件时,偶尔会出现: “UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-5: ord ...
- 深入理解net core中的依赖注入、Singleton、Scoped、Transient(四)
相关文章: 深入理解net core中的依赖注入.Singleton.Scoped.Transient(一) 深入理解net core中的依赖注入.Singleton.Scoped.Transient ...
- 为了让开发者写MaxCompute SQL更爽,DataWorks 增强SQL 编辑器功能
众所周知,数据开发和分析的同学每天都要花大量时间写MaxCompute SQL:Dataworks作为数据开发的IDE直接影响着大家的开发效率,这次新上线的Dataworks我们在编辑体验上做了很多工 ...
- 有效集 matlab代码
%有效集 function activeset H=[2 -1; -1 4]; c=[-1 -10]'; Ae=[ ]; be=[ ]; Ai=[-3 -2; 1 0; 0 1]; bi=[-6 0 ...
- PHP中抽象方法、抽象类和接口的用法
在类中,没有方法体的方法就是抽象方法. abstract 可见性 function 方法名称(参数1,.....); // 如果没有显示地指定可见性,则默认为public 如: public ...
- LA 3938 动态最大连续区间 线段树
思路很清晰,实现很繁琐.分析过程可以参考LRJ,自己的总结晚些放. #include <cstdio> #include <cstring> #include <algo ...
- Mac pycharm专业版安装以及破解方法
1.先在Pycharm官网,或者直接输入网址:http://www.https://www.jetbrains.com/pycharm/ 2.修改hosts文件 sudo vim /etc/hosts ...
- python第二十四课——set中的函数
集合中常用的一些函数: 1.add(obj):追加一个obj元素到集合中 pop():从集合中随机弹出一个元素 remove(obj):删除集合中和obj匹配的元素 clear():清空集合 s1={ ...