【题意】 一块n*m大小的田,人站在(0,0)位置。对于每个(i,j)位置的植物,从(0,0)到(i,j)的连线中有k棵植物,能量损失就为2*k-1(包括端点上的植物)。求所有植物的能量损失。 n,m<=10^5 【题解】 实际上对于每棵植物k就是x坐标,y坐标的公约数,不过n*m棵植物显然不能一个 ...
分类:
其他好文 时间:
2017-04-26 10:07:36
阅读次数:
130
lsj师兄的题解 一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) * 2 - 1. 设g(i)为 gcd(x, y) = i ( 1 <= x <= n, 1 <= y <= m ) 的数对(x, y)个数. 这个不好求, 考虑容斥, 设f(i ...
分类:
其他好文 时间:
2016-09-10 15:59:34
阅读次数:
181
不知道什么算法。 首先求一颗植物(i,j)与能量采集器的连线上有几颗植物。 答案是(gcd(i,j)-1),设i’= i/gcd(i,j),j’=j/gcd(i,j). 则这几颗植物是(i’k,j’k) 1 #include #include using namespace std; const i... ...
分类:
其他好文 时间:
2016-05-25 18:35:28
阅读次数:
125
分析:http://www.cnblogs.com/huhuuu/archive/2011/11/25/2263803.html 注:从这个题收获了两点 1,第一象限(x,y)到(0,0)的线段上整点的个数是gcd(x,y) 2,新学了一发求gcd(x,y)=k有多少对的姿势,已知0<x<=n,0< ...
分类:
其他好文 时间:
2016-04-27 22:31:19
阅读次数:
253
按一开始没开ll。。。wa*2题解来自lsj大神:一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) * 2 - 1.设g(i)为 gcd(x, y) = i ( 1 = 2 , i * k 2 #define clr(a,x) memset(a....
分类:
其他好文 时间:
2015-07-26 12:34:46
阅读次数:
102
Description 求sigma gcd(x,y)*2-1,1 2 #include 3 #include 4 #define ll long long 5 using namespace std; 6 const int maxn=1e5+5; 7 8 int flag[maxn],pri.....
分类:
其他好文 时间:
2015-06-24 00:40:43
阅读次数:
140
题目大意:给定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