题目链接:点击打开链接
题目描述:给定两串二进制,求其最大公约数,并以二进制的形式输出?
解题思路:java大整数
1、首先题目数据范围非常大,明显要用大整数
2、题目的输入和输出都是二进制,这个可以使用java方便的完成
3、求最大公约数,gcd即可,其实java大整数里面已经有这个函数了直接调用就行
代码
import java.math.BigInteger;
impo...
分类:
编程语言 时间:
2015-08-28 13:32:03
阅读次数:
225
http://www.lydsy.com/JudgeOnline/problem.php?id=4028分块。好吧,其实gcd和xor并没有什么联系,我一直在找它们之间的联系,浪费了好多时间。。。。。。将数列分成$\sqrt{N}$块,记第i个块的左端为l[i],右端为r[i]。每个位置j记住到所在...
分类:
其他好文 时间:
2015-08-28 10:56:57
阅读次数:
170
欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a...
分类:
编程语言 时间:
2015-08-27 02:11:51
阅读次数:
259
题目要求:
输入代码:
#include
typedef long l;//定义长整形,省时省力
using namespace std;
int gcd(l a,l b)//最大公约数算法
{
l r;
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
return a;
...
分类:
其他好文 时间:
2015-08-26 18:00:41
阅读次数:
180
public?class?Main{
?/**
??*?@param?args
??*/
?public?static?void?main(String[]?args)?{
??//?TODO?Auto-generated?method?stub
??Scanner?scan?=?new?Scanner(System.in);
??i...
分类:
其他好文 时间:
2015-08-25 13:03:25
阅读次数:
225
最大公约数DescriptionThere is a hill with n holes around. The holes are signed from 0 to n-1.A rabbit must hide in one of the holes. A wolf searches the ra...
分类:
其他好文 时间:
2015-08-21 19:20:41
阅读次数:
154
题意:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000思路:莫比乌斯反演,ans=solve(b/k,d/k)-s...
分类:
其他好文 时间:
2015-08-20 12:07:24
阅读次数:
188
DescriptionThere is a hill with n holes around. The holes are signed from 0 to n-1.A rabbit must hide in one of the holes. A wolf searches the rabbit ...
分类:
其他好文 时间:
2015-08-20 09:08:36
阅读次数:
106
int GCD(int aa,int bb)
{
int i,t;
if(aai){
aa=bb;
bb=i;
}
else aa=i;
}
return bb;
}
ll LCM(int aa,int bb)
{
int ...
分类:
其他好文 时间:
2015-08-19 23:44:33
阅读次数:
141
一、欧几里德算法:即辗转相除法,用于求两个整数a,b的最大公约数见:最大公约数模板二、扩展欧几里德算法:对于不完全为0的非负整数a,b,gcd(a,b)表示a,b的最大公约数,必然存在整数对x,y,使得gcd(a,b)=ax+by。kb2.3扩展欧几里德算法(求ax+by=gcd的解以及逆元)#in...
分类:
编程语言 时间:
2015-08-19 19:09:10
阅读次数:
117