题目:https://www.luogu.org/problemnew/show/P1447 1.容斥原理 求 f [ i ] 表示 gcd==i 的对数,先 f [ i ] = (n/i) * (m/i),再考虑减去不合法的对数. 不合法就是不互质,也就是还有别的公因数,即还能再除.直接算会重复,不如限定求出 gcd==j 的对数. 利用更大的 f [ ] 即可.在 n/i 和 m/i 的基础上 gcd==j 的对数就是 f [ i*j ].所以要倒推. #include<iostream>…
Portal Description 给出\(n,m(n,m\leq10^5),\)计算\[ \sum_{i=1}^n \sum_{j=1}^m (2gcd(i,j)-1)\] Solution 简单起见我们来钦定\(n\leq m\),然后计算\(\sum_{i=1}^n \sum_{j=1}^m gcd(i,j)\). \[ans = \sum_{i=1}^n \sum_{j=1}^m gcd(i,j) = \sum_{d=1}^n d\sum_{i=1}^n \sum_{j=1}^m [g…
传送门 很明显题目要求的东西可以写成$\sum_{i=1}^{n}\sum_{j=1}^m gcd(i,j)*2-1$(一点都不明显) 如果直接枚举肯定爆炸 那么我们设$f[i]$表示存在公因数$i$的数的对数 然而$i$并不一定是这几对数的最大公因数 那么怎么办呢?考虑容斥 以$i$为最大公因数的数的对数,就是有$i$为公因数的数,减去最大公因数为$2*i$的数,减去为$3*i$的数…… 那么这个就可以一波容斥求出来了 时间复杂度为$O(nlogn)$ //minamoto #include<…
https://www.luogu.org/problemnew/show/P2158 以人所在位置为(0,0)建立坐标系, 显然除了(0,1)和(1,0)外,可以只在坐标(x,y)的gcd(x,y)==1时统计贡献..因为如果gcd(x,y)==g而g不等于1,那么会在(x/g,y/g)处统计贡献 1要特判.. #include<cstdio> #include<algorithm> #include<cstring> #include<vector> u…
题意:问题可以转化成求$\sum_{i=1}^{n}\sum_{j=1}^{m}(2*gcd(i,j)-1)$ 将2和-1提出来可以得到:$2*\sum_{i=1}^{n}\sum_{j=1}^{m}gcd(i,j)-n*m$ 令Ans=$\sum_{i=1}^{n}\sum_{j=1}^{m}gcd(i,j)$ =$\sum_{d=1}^{n}d\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)==d]$ =$\sum_{d=1}^{n}d\sum_{i=1}^{\lf…
2005: [Noi2010]能量采集 Time Limit: 10 Sec  Memory Limit: 552 MBSubmit: 4394  Solved: 2624[Submit][Status][Discuss] Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后, 栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得非常整齐,一共有n列,每列 有m棵,植物的横竖间距都一样,因此对于每一棵植…
Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后, 栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得非常整齐,一共有n列,每列 有m棵,植物的横竖间距都一样,因此对于每一棵植物,栋栋可以用一个坐标(x, y)来表示,其中x的范围是1至n, 表示是在第x列,y的范围是1至m,表示是在第x列的第y棵. 由于能量汇集机器较大,不便移动,栋栋将它放在了 一个角上,坐标正好是(0, 0). 能量汇集机器在…
传送门 解题思路 首先题目要求的其实就是\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m [(gcd(i,j)-1)*2+1)]\),然后变形可得\(-n*m+2\sum\limits_{i=1}^n \sum\limits_{j=1}^m gcd(i,j)\).所以本质上是求后面那个式子,设\(f[i]\)表示\(i\)这个约数作为\(gcd\)的次数,然后转移时考虑容斥,\(n/i*m/i\)表示含有\(i\)这个约数的数字个数,再减去\(f[i*2],f[…
题目:bzoj 2005 https://www.lydsy.com/JudgeOnline/problem.php?id=2005   洛谷 P1447 https://www.luogu.org/problemnew/show/P1447 首先,题意就是求 ∑(1 <= i <= n) ∑(1 <= j <= m) [ 2 * gcd(i,j) -1 ]: 方法1:容斥原理 枚举每个数作为 gcd 被算了几次: 对于 d ,算的次数 f[d] 就是 n/d 和 m/d 中互质的…
Preface 最近反演题做多了看什么都想反演.这道题由于数据弱,解法多种多样,这里简单分析一下. 首先转化下题目就是对于一个点\((x,y)\),所消耗的能量就是\(2(\gcd(x,y)-1)+1=2\cdot\gcd(x,y)-1\)(小学奥数题) 所以求和就是求\(\sum_{i=1}^n\sum_{j=1}^m2\cdot\gcd(i,j)-1=2\cdot\sum_{i=1}^n\sum_{j=1}^m\gcd(i,j)-nm\),因此主要问题就变成了求解\(\sum_{i=1}^n…