码迷,mamicode.com
首页 >  
搜索关键字:gcd    ( 4539个结果
BZOJ 2005 NOI2010 能量采集 数论
题目大意:给定n和m,求Σ(1 i和j的限制不同,传统的线性筛法失效了,这里我们考虑容斥原理 令f[x]为GCD(i,j)=x的数对(i,j)的个数,这个不是很好求 我们令g[x]为存在公因数=x的数对(i,j)的个数(注意不是最大公因数!),显然有g[x]=(n/x)*(m/x) 但是这些数对中有一些的最大公因数为2d,3d,4d,我们要把他们减掉 于是最终f[x]=(n/x)*(m/...
分类:其他好文   时间:2014-10-09 15:46:48    阅读次数:366
nyoj 517 最小公倍数 【java大数】
我自己写了一个gcd TL了,然后调用了math里面的gcd,AC了、、、 思路:就是拿n前面的最小公倍数和n求 1~n的最小公倍数 代码: import java.util.Scanner; import java.math.*; public class Main{ public static void main(String[] args){ Scanner cin = new...
分类:编程语言   时间:2014-10-09 03:17:08    阅读次数:233
BZOJ 1041 HAOI2008 圆上的整点 数论
题目大意:给定一个半径为为r的圆x^2+y^2=r^2,求圆上多少个点的坐标为整数 卡了很久的一道题。。。我之前用了两个公式,理论上可以O(√n)出解,可惜这两个公式并不能涵盖所有勾股数。。。 于是去找了下题解,发现这样一种方法: x^2+y^2=r^2 化简为 y^2=(r-x)(r+x) 我们令d=gcd(r-x,r+x) 则(r-x)/d与(r+x)/d一定互质,二者相乘为完全平...
分类:其他好文   时间:2014-10-09 02:15:37    阅读次数:159
Codeforces 475 D.CGCDSSQ
题目说了a的范围小于10^9次方,可实际却有超过的数据。。。真是醉了算出以f[i]结尾的所有可能GCD值,并统计;f[i]可以由f[i-1]得出./* 递推算出所有GCD值,map统计*/#include #include #include using namespace std;#de...
分类:其他好文   时间:2014-10-09 00:19:47    阅读次数:243
BZOJ 2190 SDOI 2008 仪仗队 线性欧拉筛
题目大意:有一个格子组成的图,如果三个人在一条直线上,那么第一个人会看不到第三个人。现在有一个人站在(1,1)上,问他能看到n*n的矩阵中的多少人。 思路:若是想让站在(1,1)的这个人看到一个站在(x,y)的一个人,必须满足gcd(x,y) == 1,这是一个经典的模型,只要求出n以内phi的和就可以了。方法就是线性筛。 CODE: #include #inclu...
分类:其他好文   时间:2014-10-08 14:02:35    阅读次数:257
BZOJ 2818 Gcd 线性欧拉筛(Eratosthenes筛)
题目大意:给定整数N(N 思路:推一推。 设gcd(x,y) = p,则x / p与y / p互质 问题就转化成了N / p中有多少个数互质,然后累加就可以了. =>对于任意a,b,a =>gcd(a,b) == 1 现在问题就很明显了,看到这个形式就很容易想到欧拉函数,求一下phi,算一下前缀和,累加。 注意这里求欧拉一定要线性的,1qw的数据,nloglogn都很悬。...
分类:其他好文   时间:2014-10-08 12:45:35    阅读次数:234
Codeforces 474F - Ant colony
注意到每个区间生存下来的蚂蚁的长度等于区间的gcd于是可以先预处理出区间的gcd然后二分查找就好了预处理gcd我这里用的是倍增法总的时间复杂度O(NlogN)/* Cf 271F 倍增求区间GCD 对下标二分 时间复杂度O(NlogN)*/#inclu...
分类:其他好文   时间:2014-10-08 00:08:34    阅读次数:214
通过Dispatch Group机制,根据系统资源状况来执行任务
dispatch group是GCD的一项特性,能够把任务分组,调用者可以等待这组任务执行完毕,也可以在提供回调函数之后继续往下执行,这组任务完成时,调用者会得到通知。这个功能有多个用途,其中最重要,最值得注意的用法,就是把将要并发执行的多个任务合为一个组,于是调用者就可以知道这些任务合适才能全部执...
分类:其他好文   时间:2014-10-07 17:29:43    阅读次数:242
拓展欧几里得算法
1 void gcd(LL a,LL b,LL &d,LL &x,LL &y) 2 { 3 if (!b) 4 { 5 x=1; 6 y=0; 7 d=a; 8 } 9 else10 {11 g...
分类:其他好文   时间:2014-10-07 14:53:03    阅读次数:149
UVA 11774 - Doom's Day(规律)
UVA 11774 - Doom's Day题目链接题意:给定一个3^n*3^m的矩阵,要求每次按行优先取出,按列优先放回,问几次能回复原状思路:没想到怎么推理,找规律答案是(n + m) / gcd(n, m),在topcoder上看到一个证明,例如以下:We can associate at e...
分类:其他好文   时间:2014-10-07 14:51:53    阅读次数:134
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!