首页 > 其他分享 >P8670 [蓝桥杯 2018 国 B] 矩阵求和 题解

P8670 [蓝桥杯 2018 国 B] 矩阵求和 题解

时间:2024-02-10 20:44:05浏览次数:28  
标签:P8670 gcd limits 题解 sum 10000001 long 蓝桥 define

题目传送门

前置知识

欧拉函数

解法

欧拉反演,简单地推下式子即可。

\(\begin{aligned}\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} \gcd(i,j)^{2} &=\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} \sum\limits_{d=1}^{n}d^{2} [\gcd(i,j)=d] \\ &=\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} \sum\limits_{d=1}^{n}d^{2} [\gcd(\dfrac{i}{d},\dfrac{j}{d})=1] \\ &=\sum\limits_{d=1}^{n}d^{2} \sum\limits_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor} \sum\limits_{j=1}^{\left\lfloor\frac{n}{d}\right\rfloor} [\gcd(i,j)=1] \\ &=\sum\limits_{d=1}^{n}d^{2} (-1+2 \sum\limits_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor} \varphi(i)) \end{aligned}\)

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long 
#define ull unsigned long long
#define sort stable_sort 
#define endl '\n'
ll phi[10000001],prime[10000001],sum[10000001],len=0;
bool vis[10000001];
void euler(ll n)
{
	memset(vis,0,sizeof(vis));
	phi[1]=1;
	for(ll i=2;i<=n;i++)
	{
		if(vis[i]==false)
		{
			len++;
			prime[len]=i;
			phi[i]=i-1;
		}
		for(ll j=1;j<=len&&i*prime[j]<=n;j++)
		{
			vis[i*prime[j]]=true;
			if(i%prime[j]==0)
			{
				phi[i*prime[j]]=phi[i]*prime[j];
				break;
			}
			else
			{
				phi[i*prime[j]]=phi[i]*(prime[j]-1);
			}
		}
	}
}
int main()
{
	ll n,ans=0,i,p=1000000007;
	cin>>n;
	euler(n);
	for(i=1;i<=n;i++)
	{
		sum[i]=sum[i-1]+phi[i];
	}
	for(i=1;i<=n;i++)
	{
		ans=(ans+(i*i%p)*((2*sum[n/i]%p-1+p)%p)%p)%p;
	}
	cout<<ans<<endl;
	return 0;
}

后记

多倍经验:P2398

标签:P8670,gcd,limits,题解,sum,10000001,long,蓝桥,define
From: https://www.cnblogs.com/The-Shadow-Dragon/p/18013039

相关文章

  • P8666 [蓝桥杯 2018 省 A] 三体攻击
    这道题好像数据有问题?有些题解也会WA#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string>#include<vector>#defineFor(i,j,n)for(inti=j;i<=n;++i)usingnamespacestd;constint......
  • Ucup2 -19题解
    Ucup2-19题解:​ 这场的题还是挺有意思的,之前回家后因为过年的准备+美赛摆了挺久没训练,现在开始复健,顺便复活一下死去已久的博客。​ 水题就不赘述了,这次主要说说几道比较难的但思路很有趣的题目,顺序就按难度排吧。G.LCACountingProblem-G-Codeforces题意:给定一颗无向......
  • AtCoder ABC 263 D 题解
    AtCoderABC263D题解前言本蒟蒻的第一篇题解,大佬勿喷QwQ传送门们洛谷传送门AtCoder传送门正文设有\(x\)使得\(x\leqk\)时,令\(f(k)\)为对\(A'\)进行运算后\(A'=(A_1,A_2,\ldots,A_k)\)的最小和。同理,对于\(y\)使得\(y\leqk\)时,令\(g(k)\)为对\(A......
  • 新年欢乐赛题解
    cyh巨佬举办的比赛。比赛页面赛后补题官方题解赛时没时间写题,赛后补一下。T1:默认排名第一,对于每次输入,若输入的成绩更优,则将排名降低。这里更劣的成绩没用,因为默认初始排名第一。T2:At上的一道原题。考虑DP求解。\(dp_{i,0/1}\)分别表示到第\(i\)张翻和不翻的总......
  • P9170 [省选联考 2023] 填数游戏 题解
    Description众所周知,Alice和Bob是一对好朋友。今天,他们约好一起玩游戏。一开始,他们各自有一张空白的纸条。接下来,他们会在纸条上依次写\(n\)个\([1,m]\)范围内的正整数。等Alice写完,Bob在看到Alice写的纸条之后开始写他的纸条。Alice需要保证她写下的第\(i\)个......
  • P9478 [NOI2023] 方格染色题解
    题解对于行操作,列操作和对角线操作,实际上仅仅只是在对若干个矩形求面积并而已,这是裸的扫描线题,套用模板即可,此时注意到对角线操作实际上是\(O(n)\)量级的矩阵面积并,因此复杂度是\(O(n\logq+q\logq)\)的量级,只能获得95pts。显然,面积并具有交换性,我们先做\(O(q\logq)\)......
  • uoj839 龙门题字 题解
    题目链接点击打开链接题目解法呜呜呜,我考场上只会\(60\),不会优化,没救了要求字典序最大,不难想到一位一位钦定,那么我们现在的问题是判断\(ans_1,...,ans_i\)是否合法,记\(ok_{i,j}\)表示第\(i\)个修改在第\(j\)位是否可行(即\(x_{i,j}\geans_j\)),同时记\(cnt_i\)为第......
  • 2024大试牛刀5题解
    鼠鼠我鸭没学过前缀和的自己去补一下,这里不过多赘述(其实是我不想写)以第二组数据为例:类型0100体重2565先计算出不使用魔法时鸭鸭的重量,当作基础值\(ori=5\)。然后来看看对一段区间使用魔法会造成什么效果:类型0100体重2565变化a+2-5......
  • ABC338G题解
    也许是一个简单一点的做法?假如我们要求一个表达式的值,我们求的顺序显然是,按照加号划分为若干段,段内只有数字和乘号,计算出段内结果后全部加起来。称一个只有数字和乘号的表达式是基本表达式,我们将每个表达式的贡献拆分为若干个基本表达式之和,那么我们就可以枚举每个基本表达式,算......
  • CF516D Drazil and Morning Exercise 题解
    Description给定一棵\(n\)个点的树,边有边权。定义\(f_x=\max_{i=1}^n\text{dist}(x,i)\)。\(q\)次询问最大的满足\(\max_{x\ins}f_x-\min_{x\ins}f_x\lel\)的连通块\(s\)包含的点数。\(n\le10^5\),\(q\le50\)。Solution这里\(f_u\)显然可以用换......