博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu P1495 曹冲养猪
阅读量:5266 次
发布时间:2019-06-14

本文共 1100 字,大约阅读时间需要 3 分钟。

题意:

给你一组同余方程,并保证两两互质 求最小的满足方程的非负整数 X

X ≡ bi(mod ai)

..... .....

题解:

经典的中国剩余定理求解特殊的同余方程组。

我们可以构造这样的一组解:

令 M = ∏ ai,mi = M/ai

X‘ = ∑ (bi mi pi) (其中 pi mi ≡ 1(mod ai))

易知:X‘ 为方程的一组解

而 X 与 X‘ 属于同一个 mod M 剩余类,故有 X =(X mod M)

#include
#include
using namespace std; typedef long long ll; ll extended_euclid(ll a, ll b, ll &x, ll &y) { ll d; if(b == 0) {x = 1; y = 0; return a;} d = extended_euclid(b, a % b, y, x); y -= a / b * x; return d; } ll chinese_remainder(ll b[], ll w[], ll len) { ll i, d, x, y, m, n, ret; ret = 0; n = 1; for(i=0; i < len ;i++) n *= w[i]; for(i=0; i < len ;i++) { m = n / w[i]; d = extended_euclid(w[i], m, x, y); ret = (ret + y*m*b[i]) % n; } return (n + ret%n) % n; } ll yu[100],chu[100]; int main() { ll n; while(cin>>n) { for(ll i=0;i
>chu[i]>>yu[i]; } ll ans=chinese_remainder(yu,chu,n); cout<
<

转载于:https://www.cnblogs.com/clockcleaner/p/9052814.html

你可能感兴趣的文章
CF461B Appleman and Tree
查看>>
CF219D Choosing Capital for Treeland
查看>>
杂七杂八的小笔记本
查看>>
51Nod1353 树
查看>>
CF1215E Marbles
查看>>
.net Core 图片验证码 基于SkiaSharp实现
查看>>
fish redux 个人理解
查看>>
java 笔记一些
查看>>
BZOJ2339 HNOI2011卡农(动态规划+组合数学)
查看>>
octave基本操作
查看>>
排球计分程序重构(一)
查看>>
axure学习点
查看>>
WPF文本框只允许输入数字[转]
查看>>
dom4j 通用解析器,解析成List<Map<String,Object>>
查看>>
第一个项目--用bootstrap实现美工设计的首页
查看>>
使用XML传递数据
查看>>
TYVJ.1864.[Poetize I]守卫者的挑战(概率DP)
查看>>
基于CMMI的敏捷开发过程文档裁剪
查看>>
0925 韩顺平java视频
查看>>
软件需求规格说明书
查看>>