题解:

ex-crt

学习见https://www.cnblogs.com/Miracevin/p/9254795.html

hdu2891

#include <cstdio>
#include <cmath>
#include <algorithm>
#include <iostream>
using namespace std;
#define rint register int
#define IL inline
#define rep(i,h,t) for (int i=h;i<=t;i++)
#define dep(i,t,h) for (int i=t;i>=h;i--)
#define ll long long
const int N=2e5;
int n;
ll r[N],a[N];
ll gcd(ll a,ll b,ll &x,ll &y)
{
if (b==)
{
x=; y=; return(a);
}
ll ans=gcd(b,a%b,y,x);
y-=x*(a/b);
return ans;
}
ll solve()
{
ll R=r[],A=a[],x,y,d;
rep(i,,n)
{
d=gcd(A,a[i],x,y);
if ((R-r[i])%d!=) return(-);
x=(R-r[i])/d*x%a[i];
R-=x*A;
A=A/d*a[i];
R%=A;
}
return (R%A+A)%A;
}
int main()
{
freopen("1.in","r",stdin);
freopen("1.out","w",stdout);
ios::sync_with_stdio(false);
while (cin>>n)
{
rep(i,,n) cin>>a[i]>>r[i];
cout<<solve()<<endl;
}
return ;
}

noi2018d2t1的更多相关文章

  1. NOI2018D2T1 屠龙勇士

    安利一下松松松的OJ: 传送门 Description: ​ 有N条巨龙, 对于每个龙含有\(a_i\)的生命, 你有N + M把砍刀, 其中M把是直接给你的, N把是杀死对应的巨龙才能获得的, 每把 ...

  2. 近年NOI题目总结

    NOI2015D1T1 题目大意:$T$ 组数据.在一个程序中有无数个变量 $x_i$.现在有 $n$ 条限制,形如 $x_i=x_j$ 或者 $x_i\ne x_j$.(对于每个限制 $i,j$ 给 ...

随机推荐

  1. boost::bind 介绍

    boost::bind 介绍   这篇文章介绍boost::bind()的用法, 文章的主要内容是参考boost的文档. 1. 目的 boost::bind 是std::bindlist 和 std: ...

  2. css3 - 旋转的木马

    参考资料: 张鑫旭  : http://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-trans ...

  3. git下载指定的版本

    1.查看提交历史    sudo git log 打印如下内容: commit 2e3c19d412ab6a99bb51f338f71537a720a9c706   Author: huangbaog ...

  4. CentOS7安装和配置MySQL

      1. 下载MySQL Yum Repository http://dev.mysql.com/downloads/repo/yum/   2. 本地安装MySQL Yum Repository s ...

  5. JavaScript 加解密库(crypto-js)

    1. 概述 1.1 说明 crypto-js(GitHub)是谷歌开发的一个纯JavaScript的加密算法类库,可以非常方便的在前端进行其所支持的加解密操作.目前crypto-js已支持的算法有:M ...

  6. 31)django-序列化

    目录 1)序列化 2)为什么不用json序列化 3)django序列化QuerySet,ErrorDict数据 一:序列化 序列化是将对象状态转换为可保持或传输的格式的过程 反序列化是指将存储在存储媒 ...

  7. 数据库入门-基本sql语句及数据类型

    一.基本sql语句 SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发.SQL语言分为3种类型: #.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储 ...

  8. jQuery对url的操作

    // 修改URL中指定参数的值 function changeURLArg(url,arg,arg_val){ var pattern=arg+'=([^&]*)'; var replaceT ...

  9. iOS 去除百度地图下方的 logo

    UIView *mView = _mapView.subviews.firstObject; for (id logoView in mView.subviews)  { if ([logoView  ...

  10. Confluence 6 workbox 配置查询间隔

    查询间隔在Confluence 服务器中的 workbox 被用来显示应用内通知和任务. 激活的查询间隔(Active polling interval) Confluence 将会等待多少时间(秒) ...