hdu5175 gcd 求约数】的更多相关文章

题意:求满足条件GCD(N,M) = N XOR M的M的个数 sol:和uva那题挺像的.若gcd(a,b)=a xor b=c,则b=a-c 暴力枚举N的所有约数K,令M=NxorK,再判断gcd(N,M)是不是等于K. 注意枚举约数时传统方法是O(N)的,会完蛋 有个O(sqrt(N))的方法: 注意一个性质:若n%i==0,则有n%(n/i)=0 所以可以这样: for (int i=1;i*i<=N;i++) if (N%i==0) { //i是约数,N/i也是约数 balabalab…
求最大公约数哪个强,果断GCD,非递归版本和递归版本如下: #include<iostream> using namespace std; int gcd(int a, int b){ //非递归版本 int big = max(a, b); int small = min(a, b); int temp; while(small != 0 ){ temp = big % small; big = small; small = temp; } return big; } int gcd_(in…
给出n个数a1,a2...an,定义函数 f[i]=j,(i<j),表示aj mod ai=0 的最小j,其中j大于i,如果不存在这样的数,则f[i]=0 求n个数所有f[]值的和 先用筛法o(nlogn)求出每个数的约数 然后每读入一个数x,先找出所有的约数,再看看之前有没有出现过这些约数. 这个回看的过程可以用一个数组维护. 维护watch[],watch[aj]=j 表示aj还没有找到函数值,如果aj是x的约数,那么说明aj的函数值为x的位置. #include<cstdio> #…
礼物 题意: 求\[C(n,m)\ \%\ p\] \(n,m,p\le 10^9\),且若\(p=\prod_{i=1}^{k}{p_i}^{c_i}\),则\(\forall i\in [1..k]{p_i}^{c_i}\le 10^5.\) 注意到若\[p=\prod_{i=1}^{k}{p_i}^{c_i},则\forall i\in [1..k]{p_i}^{c_i}\le 10^5.\] 于是有一个经典套路就是,求出\(k\)组\(A_i=C(n,m)\% {p_i}^{c_i}\)…
本文写于2017-01-18,从老账号迁移到本账号,原文地址:https://www.cnblogs.com/huangweiyang/p/6297874.html 今天在牛客网上做了一道题,题意就是求左旋转字符串.我使用辗转相除法解之,一次性AC通过.实话说,每次写算法一次性通过,甚至一点编译错误都没有,我觉得这就是对我最好的嘉奖. 题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位…
题意: 在二维平面上给出n条不共线的线段,问这些线段总共覆盖到了多少个整数点 解法: 用GCD可求得一条线段覆盖了多少整数点,然后暴力枚举线段,求交点,对于相应的 整数交点,结果-1即可 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cmath> #include<vector> #include<queue&…
void gcd(LL a,LL b,LL &d,LL &x,LL &y){ ){d=a;x=;y=;return;} gcd(b,a%b,d,x,y); int t=x; x=y; y=t-a/b*x; return; } LL t(LL a,LL b,LL c,LL &x,LL &y ){//解ax+by=c的方程 LL d;gcd(a,b,d,x,y); ;//c%gcd(a,b)若不为0,则无解 //将x调成最小正整数,下面顺序不能乱 LL ran=b/d;…
package Basic; import java.util.Scanner; public class Gcd { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int num_1=scanner.nextInt(); int num_2=scanner.nextInt(); if(num_1>num_2){ System.out.println(gcd(num_1, num_…
You are given N(1<=N<=100000) integers. Each integer is square free(meaning it has no divisor which is a square number except 1) and all the prime factors are less than 50. You have to find out the number of pairs are there such that their gcd is 1…
谁是英雄 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 十个数学家(编号0-9)乘气球飞行在太平洋上空.当横越赤道时,他们决定庆祝一下这一壮举.于是他们开了一瓶香槟.不幸 的是,软木塞在气球上打了一个洞,氢气泄漏,气球开始下降,眼看就要落入海中,所有人将要被鲨鱼吃掉. 但是尚有一线生机--若其中一人牺牲自己跳下去的话,那他的朋友们还能多活一会儿.但仍然有一个问题存在--谁 跳下去?所以他们想了一个非常公平的办法来解决这个问题--首先,每人写一个整数ai:然后计 算…