HDU1573 X问题
来源:互联网 发布:租书软件 编辑:程序博客网 时间:2024/06/03 14:03
线性同余方程组
题目传送门
HDU前几天就好了,然而我却不知道QAQ
仍然是比较基础的解线性同余方程组,只不过多了一个范围。
设
代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;int t,m,n;int a[11],b[11];int exgcd(int a,int &x,int b,int &y){ if (!b) return x=1,y=0,a; int r=exgcd(b,y,a%b,x); return y-=x*a/b,r;}int main(){ scanf("%d",&t); while (t--){ scanf("%d%d",&n,&m); int lcm=1,xx,yy; for (int i=1;i<=m;i++) scanf("%d",&a[i]),lcm=lcm/exgcd(lcm,xx,a[i],yy)*a[i]; for (int i=1;i<=m;i++) scanf("%d",&b[i]); int a1=a[1],m1=b[1]; bool f=false; for (int i=2;i<=m;i++){ int a2=a[i],m2=b[i],x,y; int r=exgcd(a1,x,a2,y); if ((m2-m1)%r){ f=true; break; } LL t=a2/r; x=((x*(m2-m1)/r)%t+t)%t; m1+=a1*x; a1*=t; } int ans=0; if (m1<=n) ans=1+(n-m1)/lcm; if (ans&&m1==0) ans--; if (f) printf("0\n"); else printf("%d\n",ans); } return 0;}
阅读全文
1 0
- hdu1573 X问题
- hdu1573-X问题
- hdu1573 X问题
- [HDU1573] X问题
- HDU1573 X问题
- hdu1573 X问题 中国剩余定理
- X问题(hdu1573线性同余方程)
- hdu1573 X问题 中国剩余定理
- HDU1573 X问题 解同余方程组
- hdu1573 X问题(中国剩余定理)
- hdu1573 X问题 一元模线性方程组
- 【HDU1573】X问题 中国剩余定理
- hdu1573 X问题 中国剩余定理 待补完
- HDU1573:X问题(中国剩余定理)
- HDU1573 X问题 解线性同余方程的应用
- HDU1573 X问题【一元线性同余方程组】
- hdu1573 X问题(中国剩余定理解的个数)
- [HDU1573]X问题(扩展中国剩余定理)
- unity打包xcode,在iOS11设备调试报错
- (对拍配套)随机生成数据
- 数据结构实验之二叉树四:(先序中序)还原二叉树
- Spring Boot干货——(六)SpringBoot整合mybatis
- 前端面试常见问题——字符串反转
- HDU1573 X问题
- 实验报告七:将menu设计为可重用的子系统
- 如何写出无法维护的代码
- 数组(三)--打印数组
- 冒泡排序
- 设置Access-Control-Allow-Origin,解决多域名跨域问题
- idea中Maven环境Spring+Hibernate+Struts2整合(注解版)
- Android程序调用QQ的接口方法
- 购物车程序