当前位置: 首页 > news >正文

P2260 [清华集训 2012] 模积和

P2260 [清华集训 2012] 模积和 - Description

给定正整数 \(n\)\(m\),求

\[\sum_{i=1}^{n} \sum_{j=1}^{m} (n \bmod i) \times (m \bmod j), i \neq j\mod 19940417 \]

的值

\(1\le n,m\le 10^9\)

P2260 [清华集训 2012] 模积和 - Solution

感觉有点无脑。

首先令 \(n\le m\)

\[\begin{aligned} ans&=\sum_{i=1}^n\sum_{j=1}^m (n\bmod i) \times (m\bmod j)-\sum_{i=1}^n (n\bmod i)\times (m\bmod i)\\&= \sum_{i=1}^n \left ( n\bmod i \right )\times \sum_{i=1}^m \left ( m\bmod i\right )-\sum_{i=1}^n \left ( n\bmod i \right )\times \left ( m\bmod i \right )\\&= \sum_{i=1}^n \left ( n- \lfloor \frac{n}{i} \rfloor \times i \right )\times \sum_{i=1}^m \left ( m-\lfloor \frac{m}{i} \rfloor \times i \right )-\sum_{i=1}^n \left ( n-\lfloor \frac{n}{i} \rfloor \times i \right )\times \left ( m-\lfloor \frac{m}{i} \rfloor \times i \right ) \\&= \left ( n^2-\sum_{i=1}^n \lfloor \frac{n}{i} \rfloor \times i \right )\times \left ( m^2-\sum_{i=1}^m \lfloor \frac{m}{i} \rfloor \times i \right )-\sum_{i=1}^n \left ( n\times m-n\times \lfloor \frac{m}{i} \rfloor\times i - m\times \lfloor \frac{n}{i} \rfloor\times i + \lfloor \frac{n}{i} \rfloor \times \lfloor \frac{m}{i} \rfloor \times i^2 \right )\\&=\left ( n^2-\sum_{i=1}^n \lfloor \frac{n}{i} \rfloor \times i \right )\times \left ( m^2-\sum_{i=1}^m \lfloor \frac{m}{i} \rfloor \times i \right )-n^2m+n\times \sum_{i=1}^n \lfloor \frac{m}{i} \rfloor \times i+m\times \sum_{i=1}^n \lfloor \frac{n}{i} \rfloor \times i -\sum_{i=1}^n \lfloor \frac{n}{i} \rfloor \lfloor \frac{m}{i} \rfloor i^2 \end{aligned} \]

现在这坨东西是 \(O(n)\) 的。碰到下取整那当然是 imagine 一下数论分块啦

形如 \(\sum \lfloor x\rfloor \times k\) 是经典的,这里主要讲讲最后面那一坨,即

\[\sum_{i=1}^n \lfloor \frac{n}{i} \rfloor \times \lfloor \frac{m}{i} \rfloor \times i^2 \]

这个东西我们称之为 二维数论分块。类似一维地,存在类似的规律,即在一个块内 \(\lfloor \frac{n}{i} \rfloor \times \lfloor \frac{m}{i} \rfloor\) 相等。

此处为了使两个下取整的积相等,更新右端点时应比较两个下取整,看哪个离左端点距离近。

时间复杂度还是 \(O(\sqrt{n})\)

这题还有个难点是 \(O(1)\)\(\sum i^2\),但是这是个小学数学题,只挂个结论。

\[\sum_{i=1}^n i^2=\frac{n(n+1)(2n+1)}{6} \]

#include<bits/stdc++.h>
#define int long long
#define mod 19940417
using namespace std;
long long n,m,ans,ans1,sumn,summ,sumnm,qwqq;
inline void init_n(){int r=1;for(int l=1;l<=n;l=r+1){int now=n/l;r=n/now;sumn+=(l+r)*(r-l+1)/2%mod*now%mod;sumn%=mod;}return;
}
inline void init_m(){int r=1;for(int l=1;l<=m;l=r+1){int now=m/l;r=m/now;summ+=(l+r)*(r-l+1)/2%mod*now%mod;summ%=mod;}return;
}
int S(int n){return 1ll*n*(n+1)%mod*(n+n+1)%mod*3323403%mod;}
inline void get_sumnm(){int r=1;for(int l=1;l<=m;l=r+1){int now=m/l;r=m/now;if(r>=n){sumnm+=(l+n)*(n-l+1)/2%mod*now%mod;break;}sumnm+=(l+r)*(r-l+1)/2%mod*now%mod;sumnm%=mod;}return;
}
inline void qwq(){int r=1;for(int l=1;l<=n;l=r+1){int now=m/l;r=min(n/(n/l),m/(m/l));qwqq+=(n/l)*now%mod*(S(r)-S(l-1))%mod;qwqq%=mod;}return;
}
signed main(){cin>>n>>m;if(n>m){swap(n,m);}init_n();init_m();get_sumnm();qwq();ans=n*n%mod;ans-=sumn;ans=(ans%mod+mod)%mod;ans1=m*m%mod;ans1-=summ;ans1=(ans1%mod+mod)%mod;ans*=ans1;ans%=mod;ans-=n*n%mod*m%mod;ans=(ans%mod+mod)%mod;ans+=n%mod*sumnm%mod;ans%=mod;ans+=m*sumn%mod;ans%=mod;ans-=qwqq;ans=(ans%mod+mod)%mod;cout<<ans<<endl;return 0;
}
http://www.jsqmd.com/news/194830/

相关文章:

  • 深度学习毕设项目:基于人工智能改进卷积模型的人脸性别和情感分类研究与应用实现
  • 基于Java的天花吊顶业务智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 深度学习毕设选题推荐:基于卷神经网络改进卷积模型的人脸性别和情感分类研究与应用实现
  • 华为OD机考双机位C卷 - 挑选宝石 (Java Python JS C/C++ GO )
  • 【计算机毕业设计案例】基于Spatial Dropout-GRU和TextCNN的中文影评情感分析机器学习
  • AI Agents:AI Agents框架介绍,非常详细收藏我这一篇就够了
  • 2025大模型应用全景指南:从技术演进到行业落地,程序员必读收藏
  • 基于Java的太阳光发电智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • AI下的Memory策略和项目文档实践
  • 中佛罗里达大学破解仿真优化难题:让计算机在噪声中找到最优解
  • ByteDance联手顶尖学府重新定义AI思考:当机器学会分层理解世界
  • 基于Java的失业人员档案智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 编写汇编代码
  • 基于Java的奖项评选智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • AI辅助产品开发全流程:从需求文档到代码生成的智能解决方案
  • 2025年行业内优秀的气动吊制造厂排名,气葫芦/75吨气动葫芦/HQ气动葫芦/3吨气动葫芦/30吨气动葫芦/吊钩式气动葫芦气动吊企业推荐榜 - 品牌推荐师
  • 深入理解 JVM 底层原理,从入门到大神的实战指南
  • 大模型的技术本质和发展趋势,非常详细收藏我这一篇就够了
  • AI工具人人会用,但这两大能力才是你的护城河(收藏必学)
  • 掌握AI大模型:从入门到精通的完整学习路线(必收藏)_AI大模型学习路线(非常详细)
  • 一文讲透智能体(AI Agent ),非常详细收藏我这一篇就够了
  • LaTeX 符号表大全
  • 大模型技术全景解析:从围观到宏观,从宏观到微观的系统学习之路_大模型技术学习过程梳理
  • 在debian13上如何解决macbook pro facetimehd摄像头不能用的问题
  • Amazon和UCLA团队突破传统界限,开启无监督智能训练新纪元
  • 2026年大模型转行攻略:避开3大误区,4大方向精准定位_基础能不能转大模型?到底怎么转?
  • 卡内基梅隆大学打造“神经侦探“:让AI像破案一样学会理解语音
  • JavaScript 中 Set 和 Map 的示例
  • C语言动态规划:最长公共子序列深度解析 - 指南
  • 第九课Open3D点云数据处理:直通滤波