2019牛客暑期多校训练营(第十场)Han Xin and His Troops——扩展中国剩余定理
题意
求解 $n$ 个模方程 $x \equiv a (mod \ b)$,不保证模数互素($1 \leq n \leq 100$,$0 \leq b < a< 10^5$).
分析
套扩展中国剩余定理的模板,
然而__int128都会爆(好像也可以改成不会爆的),
不管,直接扔给队友改成Python版。
def gcd(a,b):
if b==:
return a
else :
return gcd(b,a%b) def exgcd(a,b):
if b == :
return ,
else:
y,x = exgcd(b, a%b)
y = y - (a//b)*x
return x,y def inv(a,b):
x,y = exgcd(a,b)
while x< :
x = b+x
return x,y MAXN = int(1e6+)
C = []*
M = []*
str = input().split(" ")
k = int(str[])
lim = int(str[])
for i in range(,k+):
str = input().split(" ")
M[i] = int(str[])
C[i] = int(str[])
flag = True
for i in range(,k+):
M1 = M[i-]
M2 = M[i]
C2 = C[i]
C1 = C[i-]
T = gcd(M1,M2)
if (C2-C1)%T != :
flag = False
break
M[i] = (M1*M2)//T
x,y = inv(M1//T,M2//T)
C[i] = (x * (C2 - C1) // T ) % (M2 // T) * M1 +C1
C[i] = (C[i] % M[i] + M[i]) % M[i] if flag:
if C[k] > lim :
print("he was probably lying")
else :
print(C[k])
else :
print("he was definitely lying")
2019牛客暑期多校训练营(第十场)Han Xin and His Troops——扩展中国剩余定理的更多相关文章
- 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)
题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9: 对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可. 后者mod=1e9,5才 ...
- 2019牛客暑期多校训练营(第一场)A题【单调栈】(补题)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v each with m distinct elem ...
- 2019牛客暑期多校训练营(第一场) B Integration (数学)
链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ...
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
- 2019牛客暑期多校训练营(第二场)F.Partition problem
链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ...
- 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes(单调栈/二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ...
- [状态压缩,折半搜索] 2019牛客暑期多校训练营(第九场)Knapsack Cryptosystem
链接:https://ac.nowcoder.com/acm/contest/889/D来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ...
- 2019牛客暑期多校训练营(第二场)J-Subarray(思维)
>传送门< 前言 这题我前前后后看了三遍,每次都是把网上相关的博客和通过代码认真看了再思考,然并卵,最后终于第三遍也就是现在终于看懂了,其实懂了之后发现其实没有那么难,但是的的确确需要思维 ...
- 2019牛客暑期多校训练营(第一场)-A (单调栈)
题目链接:https://ac.nowcoder.com/acm/contest/881/A 题意:给定两个长度均为n的数组a和b,求最大的p使得(a1,ap)和(b1,bp)等价,等价的定义为其任意 ...
- 2019牛客暑期多校训练营(第一场)A - Equivalent Prefixes(单调栈)
题意 给定两个$n$个元素的数组$a,b$,它们的前$p$个元素构成的数组是"等价"的,求$p$的最大值."等价"的意思是在其任意一个子区间内的最小值相同. $ ...
随机推荐
- PHP-FPM配置与调优
PHP-FPM是啥? PHP-FPM是一个PHP FastCGI的管理器,它实际上就是PHP源代码的补丁,旨在将FastCGI进程管理引进到PHP软件包中. CGI是啥? CGI全称"公共网 ...
- springboot的propteis的基本配置参考
其中mybatis.cfg.xml文件可以不加,这个文件最主要是开启mybatis的二级缓存:
- 使用java类加载器,报异常java.nio.file.InvalidPathException
String path = Label.class.getClassLoader().getResource("").getPath(); /F:/idea-Java/ImageD ...
- oauth2 + jwt 实现用户中心
由于公司项目比较杂,以前都是各产品线自行完成注册和登入.随着产品迭代,需要一个用户中心统一用户的管理,写个博客做个记录. 用oauth2实现,jwt作为token生成. oauth2流程图: user ...
- 2019秋季PAT甲级_备考总结
2019 秋季 PAT 甲级 备考总结 在 2019/9/8 的 PAT 甲级考试中拿到了满分,考试题目的C++题解记录在这里,此处对备考过程和考试情况做一个总结.如果我的方法能帮助到碰巧点进来的有缘 ...
- ~postman全局变量与环境变量介绍
postman官方文档:https://learning.getpostman.com/docs/postman/scripts/test_examples/ 一.环境变量 实例:将URL作为环境变量 ...
- Python--类的定义与使用
转载自https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868200407 ...
- WUSTOJ 1327: Lucky Numbers(Java)
题目链接:1327: Lucky Numbers Description A lucky number is made by the following rules: Given a positive ...
- Maven学习存档(2)——settings.xml配置
二.settings.xml配置 2.1 原文 <?xml version="1.0" encoding="UTF-8"?> <!-- Lic ...
- vm虚拟机啊安装操作
VMware下载与安装一.虚拟机的下载1.进入VMware官网,点击左侧导航栏中的下载,再点击图中标记的Workstation Pro,如下图所示. 2.根据操作系统选择合适的产品,在这里以Windo ...