求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的更多相关文章

随机推荐

  1. ArcGis实现画矩形(RectangleFeedBack)

    private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)         ...

  2. html History API

    History api 兼容性支持一下浏览器 为什么要使用History API 在AJAX给我们带来提高用户体验.减少HTTP连接数等好处的同时,也渐渐显露出一些不足之处,比如: 1.页面全是用aj ...

  3. 新一代 javascript 模板引擎:artTemplate-3.0

    特性 性能卓越,执行速度通常是 Mustache 与 tmpl 的 20 多倍(性能测试) 支持运行时调试,可精确定位异常模板所在语句(演示) 对 NodeJS Express 友好支持 安全,默认对 ...

  4. 使用 sar 和 kSar 来发现 Linux 性能瓶颈

    作者: Vivek Gite 译者: LCTT qhwdw | sar 命令用用收集.报告.或者保存 UNIX / Linux 系统的活动信息.它保存选择的计数器到操作系统的 /var/log/sa/ ...

  5. VS2017 加载项目 :未找到框架“.NETFramework,Version=v4.7”的引用程序集(出坑指南)

    报出的错误为: 错误MSB3644: 未找到框架“.NETFramework,Version=v4.7”的引用程序集.若要解决此问题,请安装此框架版本的 SDK 或 Targeting Pack,或将 ...

  6. Imagex用法

    imagex用来合并/导出wim映像实例 查看wim中包含的所有单个wim实例信息,注意其中的index是唯一的,用来区分不同的wim,导出的时候也通过该index导出相应的wimimagex /in ...

  7. 铁乐学Python_day03-字符串常用操作方法

    文:铁乐与猫 2018-3-20 1)字符串首个字母大写,其它字母也会转换成小写: S.capitalize() -> str 记忆方法:capital(大写字母) def capitalize ...

  8. 映射函数map

    映射函数map 语法: map(function, iterable) 迭代对象中 的每一个元素进行映射, 分别执行function函数 例子:  ls =[1,2,3,4,5,6] def func ...

  9. vs环境变量学习

    1. 查看vs环境变量: 在项目设置中的任何路径.目录编辑项目下,右下角有个“宏”,点开即可见所有vs环境变量的当前设置...听说还有其它地方,没看到. 2.上边的“宏”,即是英文的vs环境变量 3. ...

  10. 利用Gson将JSON数据进行格式化(pretty print)

    我们可以利用Gson包将String类型的JSON数据进行格式化. Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonPa ...