hdu 1573 X问题【扩展中国剩余定理】
2024-09-07 16:14:13
扩展中国剩余定理的板子,合并完之后算一下范围内能取几个值即可(记得去掉0)
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const int N=15;
int T,n,m;
long long a[N],b[N],A,B,x,y,d;
bool fl;
void exgcd(long long a,long long b,long long &d,long long &x,long long &y)
{
if(!b)
{
d=a,x=1,y=0;
return;
}
exgcd(b,a%b,d,y,x);
y-=a/b*x;
}
int main()
{
scanf("%d",&T);
while(T--)
{
fl=0;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
scanf("%d",&a[i]);
for(int i=1;i<=m;i++)
scanf("%d",&b[i]);
A=a[1],B=b[1];
for(int i=2;i<=m;i++)
{
exgcd(A,a[i],d,x,y);
if((b[i]-B)%d)
{
fl=1;
break;
}
x=((b[i]-B)/d*x%(a[i]/d)+(a[i]/d))%(a[i]/d);
B=B+x*A;
A=A/d*a[i];
B%=A;
}
if(fl||n<B)
puts("0");
else
printf("%lld\n",(n-B)/A+1-(B==0));
}
return 0;
}
最新文章
- JS总结 本地对象2 BOM DOM
- 为什么上传文件的表单里面要加一个属性enctype=multipart/form-data?
- EditPlus开发Python的简单设置
- (转)几种范数的解释 l0-Norm, l1-Norm, l2-Norm, … , l-infinity Norm
- 对Discuz的简单认识
- 2016阿里巴巴校招offer面经
- ERROR 2003 (HY000): Can&#39;t connect to MySQL server on &#39;localhost&#39; (10061)
- jsonp使用规范
- Logback 将日志分级别打印
- 在学习JavaScript中用到的示例
- ListView点击事件失效(item里面有button按钮控件)解决方法
- keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!
- js基础语法之函数
- MySQL:日期函数、时间函数总结(MySQL 5.X)
- Linux - DDOS检测
- Selenium Java Selection的使用
- cocos2d-x中CCLabelAtlas的小图片拼接
- ELK学习笔记之Elasticsearch启动常见错误
- L235
- windows 10最新版镜像资源下载 Win10 ISO下载教程
热门文章
- VBA 把电信的电话费用表转换成部门电话费用明细表(图文)
- takeLatest 如何接受 this.props.dispatch 传递的参数
- java开始到熟悉63-65
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- HTML5与Javascript 实现网页弹球游戏
- nginx-伤心的事
- ActionFilterAttribute之HtmlFilter,压缩HTML代码
- linux 输入子系统(2) platform device
- 初解C#类、结构、弱引用
- 转载-STM32片上FLASH内存映射、页面大小、寄存器映射