中国剩余定理 hdu 1573 X问题
HDU 1573 X问题
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4857 Accepted Submission(s):
1611
b[1], X mod a[2] = b[2], …, X mod a[i] = b[i], … (0 < a[i] <= 10)。
<= 1000,000,000 , 0 < M <=
10),表示X小于等于N,数组a和b中各有M个元素。接下来两行,每行各有M个正整数,分别为a和b中的元素。
#define M 15
#include<iostream>
using namespace std;
#include<cstdio>
#include<cstring>
#define ll long long
void exgcd(ll a,ll b,ll &x,ll &y,ll &gcd)
{
if(b==)
{
x=;y=;
gcd=a;
return;
}
exgcd(b,a%b,x,y,gcd);
ll t=x;
x=y;
y=t-(a/b)*y;
}
int main()
{
int test;
scanf("%d",&test);
while(test--)
{
int n,m;
scanf("%d%d",&n,&m);
ll a[M],b[M];
ll gcd,a1,a2,b1,b2,x,y;
for(int i=;i<m;++i)
scanf("%I64d",&a[i]);/*我犯的一个不明显的小错误,a,b数组未赋初值,而且scanf(“%d)读入,结果,a,b的数组中是非常奇怪的数,所以以后定义数组一定要初始化*/
for(int i=;i<m;++i)
scanf("%I64d",&b[i]);
a1=a[];b1=b[];
bool flag=false;
for(int i=;i<m;++i)
{
a2=a[i];b2=b[i];
exgcd(a1,a2,x,y,gcd);
if((b2-b1)%gcd)
{
flag=true;
break;
}
ll t=a2/gcd;
x=(x*(b2-b1))/gcd;
x=(x%t+t)%t;
b1=a1*x+b1;
a1=(a1*a2)/gcd;
b1=(b1%a1+a1)%a1;
}
if(flag||n<b1)
{
printf("0\n");
}
else cout<<((n-b1)/a1+-(b1==?:))<<endl;
}
return ;
}
中国剩余定理 hdu 1573 X问题的更多相关文章
- 中国剩余定理 hdu 3579
HDU 3579 Hello Kiki Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- HDU 1573 X问题(中国剩余定理标准解法)
X问题 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- hdu 1573 X问题【扩展中国剩余定理】
扩展中国剩余定理的板子,合并完之后算一下范围内能取几个值即可(记得去掉0) #include<iostream> #include<cstdio> #include<cm ...
- hdu X问题 (中国剩余定理不互质)
http://acm.hdu.edu.cn/showproblem.php?pid=1573 X问题 Time Limit: 1000/1000 MS (Java/Others) Memory ...
- HDU 5768 Lucky7 (中国剩余定理 + 容斥 + 快速乘法)
Lucky7 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5768 Description When ?? was born, seven crow ...
- HDU 5768 Lucky7 (中国剩余定理+容斥)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5768 给你n个同余方程组,然后给你l,r,问你l,r中有多少数%7=0且%ai != bi. 比较明显 ...
- 【中国剩余定理】【容斥原理】【快速乘法】【数论】HDU 5768 Lucky7
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5768 题目大意: T组数据,求L~R中满足:1.是7的倍数,2.对n个素数有 %pi!=ai 的数 ...
- 【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms
题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意: (X+d)%23=a ...
- 2013长春网赛1009 hdu 4767 Bell(矩阵快速幂+中国剩余定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4767 题意:求集合{1, 2, 3, ..., n}有多少种划分情况bell[n],最后结果bell[ ...
随机推荐
- ES6基础知识汇总
1.如何理解ECMAScript6? ECMAScript是什么,ECMASCript的作用 2.新增let关键字 let的用途 3.关键字const const作用,传址赋值 4.解构赋值 解构赋值 ...
- ISG2018 web题Writeup
0x01.命令注入 这题可以使用burpsuite扫出来,但是可能需要测一下. 得知payload为:i%7cecho%20gzavvlsv9c%20q9szmriaiy%7c%7ca%20%23'% ...
- PHP深浅拷贝
举个栗子: <?php class Example1 { public $name; public function __construct($name) { $this->name = ...
- MySQL5.6.26升级到MySQL5.7.9实战方案【转】
MySQL5.6.26升级到MySQL5.7.9实战方案 转自 MySQL5.6.26升级到MySQL5.7.9实战方案 - 其他网络技术 - 红黑联盟http://www.2cto.com/net/ ...
- 判断Selenium加载完成
How do you make Selenium 2.0 wait for the page to load? You can also check pageloaded using followin ...
- NEERC2014
NEERC2014 A - Alter Board 题目描述:给出一个\(n \times m\)的国际象棋棋盘,每次选定一个矩形,使得矩形中的每个格子的颜色翻转,求出最少次数的方案使得最终棋盘只有一 ...
- java并发编程实战笔记---(第五章)基础构建模块
. 5.1同步容器类 1.同步容器类的问题 复合操作,加容器内置锁 2.迭代器与concurrentModificationException 迭代容器用iterator, 迭代过程中,如果有其他线程 ...
- C++的一大误区——深入解释直接初始化与复制初始化的区别
转自:http://blog.csdn.net/ljianhui/article/details/9245661 不久前,在博客上发表了一篇文章——提高程序运行效率的10个简单方法,对于其中最后一 ...
- go当中寄生于变量的方法
这个东东,好像其它语言很少见呢. 印象中,ruby是可以这样的. package main import ( "fmt" ) type user struct { name str ...
- apache Apache winnt_accept: Asynchronous AcceptEx failed 错误的解决
httpd配置文件中添加: AcceptFilter http noneAcceptFilter https none apache优化: http://blog.csdn.net/hytfly/ar ...