[洛谷P1495] 曹冲养猪 (中国剩余定理模板)
中国剩余定理(朴素的)用来解线性同余方程组:
x≡a[1] (mod m[1])
x≡a[2] (mod m[2])
......
x≡a[n] (mod m[n])
定义ms=m[1]*m[2]*......*m[n] ,mm[i]=ms/m[i] ,inv[i]为mm[i]在模m[i]意义下的逆元。
则:x=mm[1]*inv[1]*a[1] + mm[2]*inv[2]*a[2] + ...... + mm[n]*inv[n]*a[n]
这种朴素的CRT只适用于所有的m[i]两两互质。
虽然说是复习,但是之前学的貌似全忘干净了,感觉像重学了一遍。
给一道裸题:洛谷 P1495 曹冲养猪
上代码。
#include<cstdio>
#define ll long long int n;
ll ans;
ll m[],a[],ms=; void exgcd(ll aa,ll bb,ll &x,ll &y)
{
if(!bb)
{
x=,y=;
return;
}
exgcd(bb,aa%bb,y,x);
y-=(aa/bb)*x;
} int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%lld%lld",&m[i],&a[i]),ms*=m[i];
for(int i=;i<=n;i++)
{
ll mm=ms/m[i];
ll inv,yy;
exgcd(mm,m[i],inv,yy);
ans=(ans+mm*inv*a[i])%ms;
}
printf("%lld",(ans%ms+ms)%ms);
return ;
}
[洛谷P1495] 曹冲养猪 (中国剩余定理模板)的更多相关文章
- 【题解】洛谷P1495 曹冲养猪 (中国剩余定理)
洛谷P1495:https://www.luogu.org/problemnew/show/P1495 思路 建立了a个猪圈 有b头猪没有去处 即x≡b(mod a) x即是ans 把所有的关系全部列 ...
- 洛谷——P1495 曹冲养猪
题目描述 自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干些事业,于是派他到中原养猪场养猪,可是曹冲满不高兴,于是在工作中马马虎虎,有一次曹操想知道母猪的数量,于是曹冲想狠狠耍曹操一把.举个例子,假如有 ...
- 洛谷 P1495 曹冲养猪
这是一道标准的孙子定理的题,题意浅显,思路明确 然后我就交了整整16遍啊,欺负人啊,题解暴力就能过,我就TLE ..悲惨的提交记录 下面是题面 题目描述 自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干 ...
- P1495 曹冲养猪(拓展欧几里得)
题目描述 自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干些事业,于是派他到中原养猪场养猪,可是曹冲满不高兴,于是在工作中马马虎虎,有一次曹操想知道母猪的数量,于是曹冲想狠狠耍曹操一把.举个例子,假如有 ...
- P1495 曹冲养猪
原题链接 https://www.luogu.org/problemnew/show/P1495 这个题明显的中国剩余定理(孙子定理),如果有不懂孙子定理的点这个链接https://baike.bai ...
- [Luogu P1495]曹冲养猪
题目链接 中国剩余定理(孙子定理)的裸题.直接放代码. #include<iostream> #include<cstdio> #include<algorithm> ...
- 中国剩余定理模板 51nod 1079
题目链接:传送门 推荐博客:https://www.cnblogs.com/freinds/p/6388992.html (证明很好,代码有误). 1079 中国剩余定理 基准时间限制:1 秒 空间 ...
- 【算法学习】【洛谷】树链剖分 & P3384 【模板】树链剖分 P2146 软件包管理器
刚学的好玩算法,AC2题,非常开心. 其实很早就有教过,以前以为很难就没有学,现在发现其实很简单也很有用. 更重要的是我很好调试,两题都是几乎一遍过的. 介绍树链剖分前,先确保已经学会以下基本技巧: ...
- Monkey Tradition---LightOj1319(中国剩余定理模板)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1319 题意:有 n 个猴子,n 棵树,树的高度为 L ,每个猴子刚开始的时候都在树的底 ...
随机推荐
- Java 创建类的过程
创建对象过程: 堆分配父类空间 堆分类子类空间 属性初始化 调用构造方法(第一行是调用父类构造方法)
- keras字符编码
https://www.jianshu.com/p/258a21ae0390https://blog.csdn.net/apengpengpeng/article/details/80866034#- ...
- Java进行http请求时,放置会话信息到header里面
public class CreateHttpTest { public static void main(String[] args) { createHttp(); } public static ...
- 关于ebay平台接口(php)对接示例
获取订单接口示例 public function importEbayOrder(){ set_time_limit(0); if(empty( $this->_ShopApiEbay-> ...
- easyui分页控件的应用
1.首先应用easyui的js和css文件 <link rel="stylesheet" type="text/css" href="../.. ...
- zabbix数据库占用磁盘空间较大的处理方法
du -h /* |sort -nr 使用此命令一步步排查发现/var/lib/mysql/zabbix/这个目录占用磁盘空间较大 发现history_log.ibd这个文件最大,达到了38G,此文 ...
- 46)PHP,PHP语言为啥需要服务器
1)用户的 Web 浏览器发出 HTTP 请求,请求特定 Web 页面. 2)Web服务器收到.php 的请求获取该文件,并将它传到 PHP 引擎,要求它处理. 3)PHP 引擎开始解析脚本. 脚本中 ...
- G - KiKi's K-Number(树状数组求区间第k大)
For the k-th number, we all should be very familiar with it. Of course,to kiki it is also simple. No ...
- Rails Create--params说明
参考:https://ruby-china.github.io/rails-guides/getting_started.html 表单提交后,其字段以参数形式传递给 Rails,然后就可以在控制器动 ...
- Golang os/exec 实现
os/exec 实现了golang调用shell或者其他OS中已存在的命令的方法. 本文主要是阅读内部实现后的一些总结. 如果要运行ls -rlt,代码如下: package main import ...