扩展中国剩余定理的板子,合并完之后算一下范围内能取几个值即可(记得去掉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;
}

最新文章

  1. JS总结 本地对象2 BOM DOM
  2. 为什么上传文件的表单里面要加一个属性enctype=multipart/form-data?
  3. EditPlus开发Python的简单设置
  4. (转)几种范数的解释 l0-Norm, l1-Norm, l2-Norm, … , l-infinity Norm
  5. 对Discuz的简单认识
  6. 2016阿里巴巴校招offer面经
  7. ERROR 2003 (HY000): Can&#39;t connect to MySQL server on &#39;localhost&#39; (10061)
  8. jsonp使用规范
  9. Logback 将日志分级别打印
  10. 在学习JavaScript中用到的示例
  11. ListView点击事件失效(item里面有button按钮控件)解决方法
  12. keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!
  13. js基础语法之函数
  14. MySQL:日期函数、时间函数总结(MySQL 5.X)
  15. Linux - DDOS检测
  16. Selenium Java Selection的使用
  17. cocos2d-x中CCLabelAtlas的小图片拼接
  18. ELK学习笔记之Elasticsearch启动常见错误
  19. L235
  20. windows 10最新版镜像资源下载 Win10 ISO下载教程

热门文章

  1. VBA 把电信的电话费用表转换成部门电话费用明细表(图文)
  2. takeLatest 如何接受 this.props.dispatch 传递的参数
  3. java开始到熟悉63-65
  4. ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
  5. HTML5与Javascript 实现网页弹球游戏
  6. nginx-伤心的事
  7. ActionFilterAttribute之HtmlFilter,压缩HTML代码
  8. linux 输入子系统(2) platform device
  9. 初解C#类、结构、弱引用
  10. 转载-STM32片上FLASH内存映射、页面大小、寄存器映射