Least Common Multiplehttp://acm.hdu.edu.cn/showproblem.php?pid=1019 1 #include 2 int gcd(int a,int b){ 3 return b?gcd(b,a%b):a; 4 } 5 int lcm(int ...
分类:
其他好文 时间:
2014-08-03 12:27:35
阅读次数:
222
题目大意:
需要你构造一个b数组。使得b数组中的所有元素互质。
而且使得b数组与a数组中的每个对应下标元素的差值和最小。
思路分析:
考虑到 a中所有元素都是 0 - 30.
所以b中的元素也只可能在 0 - 59.
因为如果b 选择60的话,结果和1是一样的,而且b序列中 1 可以重复出现很多次。
因为gcd (1,x) = 1。。
所以们首先把2 - 59中的所有素数处...
分类:
其他好文 时间:
2014-08-03 10:19:05
阅读次数:
336
题目链接:uva 11317 - GCD+LCM
题目大意:给定n,求出1~n里面两两的最大公约的积GCD和最小公倍数的积LCM,在10100进制下的位数。
解题思路:在n的情况下,对于最大公约数为i的情况又phi[n/i]次。求LCM就用两两乘积除以GCD即可。
#include
#include
#include
#include
using namespace std...
分类:
其他好文 时间:
2014-08-03 01:48:04
阅读次数:
392
题目链接:uva 1521 - GCD Guessing Game
题目大意:给定一个数N,现在又一个数x,在1~N之间,现在每次可以猜一个数a,返回gcd(x,a),问说最少猜几次可以确定x。
解题思路:其实就将1~N里面的素数都要考虑一遍,因为有一个N的限制,所以每次选出来的素数的积不大于N即可。
#include
#include
#include
using name...
分类:
其他好文 时间:
2014-08-02 23:27:44
阅读次数:
302
题目链接:uva 10542 - Hyper-drive
题目大意:给定n维空间的线段,问说线段经过几个格子。
解题思路:对于线段可以将一点移动至原点,变成
(0,0)到(a,b)这条线段,以二维为例,每次会从一个格子移动到另一个格子,可以是x+1坐标,也可以是y+1,所以总的应该是a+b-1,扣除掉x+1,y+1的情况gcd(a,b)-1 (原点)。映射成n维就要用容斥原理计算结果...
分类:
其他好文 时间:
2014-08-02 23:26:24
阅读次数:
295
给定一个序列,两种操作
1:把一段变成x。
2:把一段每个数字,如果他大于x,就变成他和x的gcd,求变换完后,最后的序列。
线段树解法:用lazy标记下即可,优化方法还是很巧妙的,
Accepted
4902
515MS
3308K
1941 B
C++
#include "stdio.h"
#include "string...
分类:
其他好文 时间:
2014-08-02 20:57:24
阅读次数:
367
#include int gcd(int m,int n){if(n==0) return m;else return gcd(n,m%n);}*************变形一int gcd(int m,int n) {if(m%n==0) return m; else return gcd(n,m...
分类:
其他好文 时间:
2014-08-02 20:40:13
阅读次数:
243
题目链接题意 : 给你n个初值,然后进行两种操作,第一种操作是将(L,R)这一区间上所有的数变成x,第二种操作是将(L,R)这一区间上所有大于x的数a[i]变成gcd(x,a[i])。输出最后n个数。思路 : 暴力线段树,将区间进行更新,可以用延迟标记,也可以不用。p数组代表当前节点这一段上的值是不...
分类:
其他好文 时间:
2014-08-01 19:01:22
阅读次数:
211
题意:给你一个数列,给你两个操作,1)数列中L-R每个值都赋值为 X2)数列中L-R每个大与 X 的数都变为 gcd(a[i],X) (L 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #in...
分类:
其他好文 时间:
2014-08-01 18:43:52
阅读次数:
243
1、GCD
使用不同优先级的若干个队列乍听起来非常直接,不过,我们强烈建议,在绝大多数情况下使用默认的优先级队列就可以了。如果执行的任务需要访问一些共享的资源,那么在不同优先级的队列中调度这些任务很快就会造成不可预期的行为。这样可能会引起程序的完全挂起,因为低优先级的任务阻塞了高优先级任务,使它不能被执行。
2、Run Loops
实际上,Ru...
分类:
其他好文 时间:
2014-08-01 16:06:21
阅读次数:
152