P1829 [国家集训队]Crash的数字表格

【题解&总结】P1829 [国家集训队]Crash的数字表格 题目大意 给定 n,mn,mn,m ,求 ∑i=1n∑j=1m[i,j] \sum_{i=1}^n\sum_{j=1}^m[i,j] i=1∑n​j=1∑m​[i,j] 题解 我们约定 n<mn<mn<m 先把 lcmlcmlcm 换成 gcdgcdgcd ,则 ∑i=1n∑j=1mij(i,j) \sum_{i=1}^n\sum_{j=1}^m\frac{ij}{(i,j)} i=1∑n​j=1∑m​(i,j)ij​ 常规套路,枚举 (i,j)(i,j)(i,j) ,得 ∑d=1n∑i= 阅读详情

Label

经典莫比乌斯反演转化gcd(i,j)gcd(i,j)gcd(i,j)(P3768弱化版)

Description

给定两个正整数n,m(n,m≤107)n,m(n,m\leq 10^7)n,m(n,m≤107),求

​ ∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)i=1∑n​j=1∑m​lcm(i,j)

Solution

∵\because∵ ∑i=1n∑j=1mlcm(i,j)=∑i=1n∑j=1mij(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)=\sum_{i=1}^{n}\sum_{j=1}^{m}\frac{ij}{(i,j)}i=1∑n​j=1∑m​lcm(i,j)=i=1∑n​j=1∑m​(i,j)ij​

若此处再利用φ∗1=id\varphi*1=idφ∗1=id反演,φ\varphiφ的求和式在分母上,不好提取。故考虑传统方法,即外层枚举gcd(i,j)gcd(i,j)gcd(i,j):

即 ∑i=1n∑j=1mij(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}\frac{ij}{(i,j)}i=1∑n​j=1∑m​(i,j)ij​

=∑d=1min(n,m)1d∑i=1n∑j=1mij[(i,j)=d]=\sum_{d=1}^{min(n,m)}\frac{1}{d}\sum_{i=1}^{n}\sum_{j=1}^{m}ij[(i,j)=d]=d=1∑min(n,m)​d1​i=1∑n​j=1∑m​ij[(i,j)=d]

=∑d=1min(n,m)1d∑i=1n∑j=1mij[gcd(id,jd)=1]=\sum_{d=1}^{min(n,m)}\frac{1}{d}\sum_{i=1}^{n}\sum_{j=1}^{m}ij[gcd(\frac{i}{d},\frac{j}{d})=1]=d=1∑min(n,m)​d1​i=1∑n​j=1∑m​ij[gcd(di​,dj​)=1]

=∑d=1min(n,m)1d∑i=1⌊nd⌋∑j=1⌊md⌋didj[gcd(i,j)=1]=\sum_{d=1}^{min(n,m)}\frac{1}{d}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}didj[gcd(i,j)=1]=d=1∑min(n,m)​d1​i=1∑⌊dn​⌋​j=1∑⌊dm​⌋​didj[gcd(i,j)=1]

=∑d=1min(n,m)d∑i=1⌊nd⌋∑j=1⌊md⌋ij∑p∣(i,j)μ(p)=\sum_{d=1}^{min(n,m)}d\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}ij\sum_{p|(i,j)}\mu(p)=d=1∑min(n,m)​di=1∑⌊dn​⌋​j=1∑⌊dm​⌋​ijp∣(i,j)∑​μ(p)

=∑d=1min(n,m)d∑p=1min(⌊nd⌋,⌊md⌋)μ(p)∑i=1⌊nd⌋∑j=1⌊md⌋[p∣i∧p∣j]ij=\sum_{d=1}^{min(n,m)}d\sum_{p=1}^{min(\lfloor\frac{n}{d}\rfloor,\lfloor\frac{m}{d}\rfloor)}\mu(p)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}[p|i\wedge p|j]ij=d=1∑min(n,m)​dp=1∑min(⌊dn​⌋,⌊dm​⌋)​μ(p)i=1∑⌊dn​⌋​j=1∑⌊dm​⌋​[p∣i∧p∣j]ij

=∑d=1min(n,m)d∑p=1min(⌊nd⌋,⌊md⌋)μ(p)∑i=1⌊nd⌋∑j=1⌊md⌋[p∣i∧p∣j]ij=\sum_{d=1}^{min(n,m)}d\sum_{p=1}^{min(\lfloor\frac{n}{d}\rfloor,\lfloor\frac{m}{d}\rfloor)}\mu(p)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}[p|i\wedge p|j]ij=d=1∑min(n,m)​dp=1∑min(⌊dn​⌋,⌊dm​⌋)​μ(p)i=1∑⌊dn​⌋​j=1∑⌊dm​⌋​[p∣i∧p∣j]ij

=∑d=1min(n,m)d∑p=1min(⌊nd⌋,⌊md⌋)μ(p)∑i=1⌊nd⌋[p∣i]i∑j=1⌊md⌋[p∣j]j=\sum_{d=1}^{min(n,m)}d\sum_{p=1}^{min(\lfloor\frac{n}{d}\rfloor,\lfloor\frac{m}{d}\rfloor)}\mu(p)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}[p|i]i\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}[p|j]j=d=1∑min(n,m)​dp=1∑min(⌊dn​⌋,⌊dm​⌋)​μ(p)i=1∑⌊dn​⌋​[p∣i]ij=1∑⌊dm​⌋​[p∣j]j

=∑d=1min(n,m)d∑p=1min(⌊nd⌋,⌊md⌋)p2μ(p)∑i=1⌊npd⌋i∑j=1⌊mpd⌋j=\sum_{d=1}^{min(n,m)}d\sum_{p=1}^{min(\lfloor\frac{n}{d}\rfloor,\lfloor\frac{m}{d}\rfloor)}p^2\mu(p)\sum_{i=1}^{\lfloor\frac{n}{pd}\rfloor}i\sum_{j=1}^{\lfloor\frac{m}{pd}\rfloor}j=d=1∑min(n,m)​dp=1∑min(⌊dn​⌋,⌊dm​⌋)​p2μ(p)i=1∑⌊pdn​⌋​ij=1∑⌊pdm​⌋​j

式子化简到这里为止,考虑如何对上式进行分块处理。

这个式子看起来很麻烦,但并不代表不能处理(事实上,如果化简出了正确且可处理的式子而看不出来此式可处理,这才是最GG的)。

我们可以分块改写:

设S(⌊nd⌋,⌊md⌋)=S(N,M)=∑p=1min(N,M)p2μ(p)∑i=1⌊Np⌋i∑j=1⌊Mp⌋jS(\lfloor\frac{n}{d}\rfloor,\lfloor\frac{m}{d}\rfloor)=S(N,M)=\sum_{p=1}^{min(N,M)}p^2\mu(p)\sum_{i=1}^{\lfloor\frac{N}{p}\rfloor}i\sum_{j=1}^{\lfloor\frac{M}{p}\rfloor}jS(⌊dn​⌋,⌊dm​⌋)=S(N,M)=∑p=1min(N,M)​p2μ(p)∑i=1⌊pN​⌋​i∑j=1⌊pM​⌋​j,则原式为

​ ∑i=1min(n,m)dS(⌊nd⌋,⌊md⌋)\sum_{i=1}^{min(n,m)}dS(\lfloor\frac{n}{d}\rfloor,\lfloor\frac{m}{d}\rfloor)i=1∑min(n,m)​dS(⌊dn​⌋,⌊dm​⌋)

此式显然可以数论分块求,而每求一次SSS函数的值,在O(n)O(n)O(n)线性筛(注意此题数据范围,此处不必用杜教筛)预处理出p2μ(p)p^2\mu(p)p2μ(p)的前缀和的前提下,又可以数论分块求解。

算法时间复杂度Θ(n+m)\Theta(n+m)Θ(n+m)。

Code

#include<cstdio>
#include<iostream>
#define ri register int
#define ll long long
using namespace std;

const int MAXN=1e7;
const ll MOD=20101009;
int cnt,prime[MAXN+20];
ll N,M,mu[MAXN+20],sum[MAXN+20],Ans;
bool notprime[MAXN+20];

void Mobius()
{
	mu[1]=1,notprime[1]=true;
	for(ri i=2;i<=MAXN;++i)
	{
		if(!notprime[i]) prime[++cnt]=i,mu[i]=-1;
		for(ri j=1;j<=cnt&&i*prime[j]<=MAXN;++j)
		{
			notprime[i*prime[j]]=true;
			if(i%prime[j]==0) break;
			else mu[i*prime[j]]=-mu[i];
		}
	}
	for(ri i=1;i<=MAXN;++i) 
		sum[i]=(sum[i-1]+(((ll)i*(ll)i)%MOD)*mu[i]%MOD+MOD)%MOD;
}

inline ll sum1(ll n)
{
	return (n*(n+1)/2)%MOD;
}

ll S_mu(ll n,ll m)
{
	ll ans=0LL;
	for(ll l=1,r;l<=n;l=r+1)
	{
		r=min(n/(n/l),m/(m/l));
		ans=(ans+(((sum[r]-sum[l-1])%MOD+MOD)%MOD)*(sum1(n/l)*sum1(m/l)%MOD)%MOD)%MOD;
	}
	return ans;
}

int main()
{
	std::ios::sync_with_stdio(false);
	Mobius();
	cin>>N>>M;
	if(N>M) swap(N,M);
	for(ri l=1,r;l<=N;l=r+1)
	{
		r=min(N/(N/l),M/(M/l));
		Ans=(Ans+(S_mu(N/l,M/l)*((sum1(r)-sum1(l-1)+MOD)%MOD))%MOD)%MOD;
	}
	cout<<Ans;
	return 0;
}
博途WinCC上位机避坑指南:从工控机选型到趋势图优化的完整流程 本文详细解析了博途WinCC上位机开发全流程,从工控机选型到趋势图优化的关键技巧。针对工业自动化场景,提供硬件配置指南、网络优化方案和性能提升策略,帮助工程师避开常见陷阱,实现稳定高效的HMI系统部署。特别强调PC Station与传统触摸屏的选型对比及SIMATIC NET配置优化。 阅读详情

相关推荐

ZynqMP双核通信避坑指南:Linux驱动+裸机固件协同开发实录

本文详细解析了Xilinx ZynqMP芯片中APU与RPU双核通信的技术实现,重点介绍了通过IPI中断实现Linux驱动与裸机固件协同开发的实战经验。内容涵盖硬件寄存器配置、Linux驱动开发、RPU裸机程序编写以及双核调试技巧,为开发者提供了一套完整的工程化解决方案,帮助规避常见开发陷阱。

weixin_29168153的博客 126

[Luogu P1829] [BZOJ 2154] [国家集训队]Crash的数字表格

洛谷传送门 BZOJ传送门 题目背景 提示:原 P1829 半数集问题 已经迁移至 P1028 数的计算 题目描述 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数aaa和bbb,LCM(a,b)LCM(a,b)LCM(a, b)表示能同时整除aaa和bbb的最小正整数。例如,LCM(6,8)=24LCM(6,8)...

LPA的博客 433

太速科技-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡

当多块盘并行工作时,存储阵列读写带宽成指数增长,2块盘则≥4GB/s,4块盘则≥8GB/s,以此类推。存储阵列的存储容量由单盘配置决定,目前单块NVME存储盘存储容量可选择512GB、1TB、2TB、4TB、8TB、16TB。硬盘管理通过文件系统,FPGA的PCIeX4与 6U VPX主板互联,操作系统直接映射管理硬盘,也可以通过前面板QSFP+ 光纤导出给其他服务器设备。本方案优势就是集中的进行采集,存储,计算一体化,降低硬件成本、功耗,减小设备体积、重量。信号处理,无线电通信领域。

Orihard_的博客 678

[国家集训队]Crash的数字表格

一、题目 点此看题 二、解法 把最小公倍数变成gcd⁡\gcdgcd的形式: ∑i=1n∑j=1mi×jgcd⁡(i,j)\sum_{i=1}^n\sum_{j=1}^m\frac{i\times j}{\gcd(i,j)}i=1∑n​j=1∑m​gcd(i,j)i×j​我们先枚举gcd⁡\gcdgcd,然后保证i,ji,ji,j是gcd⁡\gcdgcd的倍数: ∑d=1nd∑i=1n/d∑j=1...

C202044zxy的博客 289

深度解析中国支付清算体系

说起国之重器,不仅仅有 东风快递、渔16、渔17、渔18,还有另外一个国之重器-CNAPS2(中国支付清算体系)。 中国国内支付行业的发达水平、繁荣程度,不客气的讲,在全世界都是数一数二的,世界上最大的银行卡组织银联在中国,世界上交易量最大的网络零售支付清算体网联在中国。可以说现在我国经济的高速发展,离不开CNAPS2。

银行信息系统应用架构详解 2510

基于STM32L4XX、HAL库的DP83822 以太网收发器(PHY)驱动程序设计

一、简介:DP83822是德州仪器(TI)推出的一款低功耗、高性能10/100Mbps以太网物理层收发器(PHY)。它具有以下主要特性:支持10BASE-T和100BASE-TX以太网标准低功耗设计,适合嵌入式应用MII/RMII接口,方便与微控制器连接内置自检和诊断功能支持自动协商和手动配置工业级温度范围(-40°C至+85°C)

zhusl6688的博客 526

【2011集训队出题】【BZOJ 2154】【JZOJ 1938】Crash的数字表格

Description 莫比乌斯反演 数论 求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j) n,m≤107n,m\leq 10^7Analysis设n≤mn\leq m 变形 ∑i=1n∑j=1mijgcd(i,j)\s

LYD729 678

Fluent验证案例03:管道中湍流流动压降计算——采用kw-sst模型计算压降更为准确。

阅读(4053) 评论(0)本案例利用Fluent计算管道中湍流流动压降。

qq_15963745的博客 877

洛谷 P1829 [国家集训队]Crash的数字表格 莫比乌斯反演

题目描述今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数a和b,LCM(a, b)表示能同时整除a和b的最小正整数。例如,LCM(6, 8) = 24。回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张N*M的表格。每个格子里写了一个数字,其中第i行第j列的那个格子里写着数为LCM(i, j)。一个4*5的表格如下:

liangzihao1的博客 351

恒玄BES调试笔记-BES2500如何打开COMPEXP

打开Compressor and expander会占用资源,这个根据个人项目需求而定吧!打开方法,以及参数修改如下: config\best2300a_ibrt_anc\target.mk SPEECH_RX_COMPEXP ?= 1 apps\audioplayers\bt_sco_chain_cfg_default.c #if defined(SPEECH_RX_COMPEXP) /*****************************************************

leezs的博客 706

Opencv项目实战:20 单手识别数字0到5

今天要做的是单手识别数字0到5,通过在窗口展示,实时的展示相应的图片以及文字。在这里,我提供一下识别更多数字的方法(0-10)。首先最简便的是双手识别,完全不用更改代码,把图片处理好就行了;其次,就是按照最上面的那张图片,参数figureup是一个长度为5的列表[0,0,0,0,0],你可以参照着手势将其打印出来,然后将其用if条件判断。当然,在我们这边最常见的还是华北手势表示数字,大家按照自己的习惯来就行。

m0_62919535的博客 2877

[国家集训队] Crash的数字表格/JZPTAB(莫比乌斯反演)

[国家集训队] Crash的数字表格/JZPTAB Statement 计算: Ans=∑i=1N∑j=1Mlcm(i,j)Ans=\sum_{i=1}^N\sum_{j=1}^M\text{lcm}(i,j)Ans=∑i=1N​∑j=1M​lcm(i,j). Solution ∑i=1N∑j=1Mlcm(i,j)=∑i=1N∑j=1Mi⋅jgcd⁡(i,j)\sum_{i=1}^N\sum_{j=1}^M\text{lcm}(i,j)=\sum_{i=1}^N\sum_{j=1}^M\frac{i\cdo

LH_Frank的博客 251

23、变压器与电抗器知识详解

本文详细介绍了电力变压器的基本原理、等效电路、测试方法及多种运行方式,涵盖双绕组与自耦变压器的建模与应用。深入探讨了变压器极性判断、并联运行条件、电压调节技术,并扩展至非线性、磁滞、EMTP和高频模型,用于瞬态分析。同时阐述了地磁感应电流(GIC)的影响及对偶建模方法。最后系统介绍了各类电抗器的应用场景与特性,包括限流、无功补偿、滤波及特殊用途电抗器,全面覆盖电力系统中变压器与电抗器的核心知识。

eee77的博客 150

洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB

### 题目大意 给出$n,m$,求$\sum\limits_{i=1}^n\sum\limits_{j=1}^m lcm(i,j)$

tanjunming2020的博客 1193

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

P1829 [国家集训队]Crash的数字表格 / JZPTAB

莫比乌斯反演

Ajwallet 449

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

洛谷P1829 - [国家集训队]Crash的数字表格

Portal Description 给出\(n,m(n,m\leq10^7)\),计算\[ \sum_{i=1}^n \sum_{j=1}^m lcm(i,j) \bmod 20101009\] fdsa Solution 推推推... \[\begin{align} ans &= \sum_{i=1}^n \sum_{j=1}^m lcm(i,j) \\ &...

TC1129的博客 168

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[luogu P1829] [国家集训队]Crash的数字表格 / JZPTAB

我丢 : https://www.luogu.com.cn/problem/P1829 先假设n<m先假设n < m先假设n<m ∑i=1n∑j=1mlcm(i,j)=∑i=1n∑j=1ni×jgcd⁡(i,j)=∑d=1n∑i=1⌊n/d⌋∑j=1⌊m/d⌋[gcd⁡(i,j)=1]d×i×j(枚举d=gcd)=∑d=1n∑i=1⌊n/d⌋∑j=1⌊m/d⌋∑k∣gcd⁡(i,j)μ(k)×d×i×j=∑d=1n∑k=1⌊n/d⌋∑i=1⌊n/kd⌋∑j=1⌊m/kd⌋μ(k)×d×ik

lahlah的博客 561

题解 P1829 [国家集训队]Crash的数字表格 / JZPTAB

题目背景 提示:原 P1829 半数集问题 已经迁移至 P1028 数的计算 题目描述 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数a和b,LCM(a, b)表示能同时整除a和b的最小正整数。例如,LCM(6, 8) = 24。 回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张NM的表格。每个格子里写了一个数...

alpha202的博客 382

洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB(包括多组数据)

### 题目大意 给出$n,m$,求$\sum\limits_{i=1}^n\sum\limits_{j=1}^m lcm(i,j)$。有$T$组数据,$1\leq T\leq 10^4$。

tanjunming2020的博客 1214

P1829 [国家集训队]Crash的数字表格(推了好久的mobius反演)

P1829 [国家集训队]Crash的数字表格 / JZPTAB 推导过程 ∑i=1n∑j=1mlcm(i,j)\sum_{i = 1} ^{n} \sum_{j = 1} ^{m} lcm(i, j)i=1∑n​j=1∑m​lcm(i,j) =∑i=1n∑j=1mijgcd(i,j) = \sum_{i = 1} ^{n} \sum_{j = 1} ^{m} \frac{ij}{gcd(i, j)}=i=1∑n​j=1∑m​gcd(i,j)ij​ =∑d=1n1d∑i=1n∑jmij(gcd(i,j)==

lifehappy 284

P1829 [国家集训队]Crash的数字表格 / JZPTAB 题解

博客园同步 原题链接 简要题意: 求 ∑i=1n∑j=1mlcm⁡(i,j)\sum_{i=1}^n \sum_{j=1}^m \operatorname{lcm}(i,j)i=1∑n​j=1∑m​lcm(i,j) 一言不合就推式子。 ∑i=1n∑j=1mlcm⁡(i,j)\sum_{i=1}^n \sum_{j=1}^m \operatorname{lcm}(i,j)i=1∑n​j=1∑m​lc...

bifanwen的博客 451
上一篇: (杜教筛)P4213 【模板】杜教筛(Sum)
下一篇: P2257 YY的GCD
guapi2333
博客等级 码龄9年 7粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值