P2834-能力测验【数论,整除分块】

正题

题目链接:https://www.luogu.org/problemnew/show/P2834


题目大意

∑i=1n∑j=1m(n%i)∗(m%j)∗(i!=j)\sum_{i=1}^n\sum_{j=1}^m(n\%i)*(m\%j)*(i!=j)i=1nj=1m(n%i)(m%j)(i!=j)


解题思路

∑i=1n(n%i)∗∑j=1m(m%j)−∑i=1min{n,m}(n%i)∗(m%i)\sum_{i=1}^n(n\%i)*\sum_{j=1}^m(m\%j)-\sum_{i=1}^{min\{n,m\}}(n\%i)*(m\%i)i=1n(n%i)j=1m(m%j)i=1min{n,m}(n%i)(m%i)
前面的很好求,我们考虑如何求后面的。
单独考虑∑i=1n(n%i)=n2−∑i=1n⌊n/i⌋∗i\sum_{i=1}^{n}(n\%i)=n^2-\sum_{i=1}^n\lfloor n/i\rfloor*ii=1n(n%i)=n2i=1nn/ii
同理∑i=1min{n,m}(n−⌊n/i⌋∗i)∗(m−⌊m/i⌋∗i)\sum_{i=1}^{min\{n,m\}}(n-\lfloor n/i\rfloor*i)*(m-\lfloor m/i\rfloor*i)i=1min{n,m}(nn/ii)(mm/ii)
∑i=1min{n,m}n∗m−(m∗⌊n/i⌋+n∗⌊m/i⌋)∗i+⌊m/i⌋∗⌊n/i⌋∗i2\sum_{i=1}^{min\{n,m\}}n*m-(m*\lfloor n/i\rfloor+n*\lfloor m/i\rfloor)*i+\lfloor m/i\rfloor*\lfloor n/i\rfloor*i^2i=1min{n,m}nm(mn/i+nm/i)i+m/in/ii2
n∗m∗min{n,m}−∑i=1min{n,m}(m∗⌊n/i⌋+n∗⌊m/i⌋)∗i−⌊m/i⌋∗⌊n/i⌋∗i2n*m*min\{n,m\}-\sum_{i=1}^{min\{n,m\}}(m*\lfloor n/i\rfloor+n*\lfloor m/i\rfloor)*i-\lfloor m/i\rfloor*\lfloor n/i\rfloor*i^2nmmin{n,m}i=1min{n,m}(mn/i+nm/i)im/in/ii2
然后除了i2i^2i2其他用整体分块都好求,之后我们考虑如何求∑i=1min{n,m}i2\sum_{i=1}^{min\{n,m\}} i^2i=1min{n,m}i2

∑i=1min{n,m}i2=i∗(i+1)∗(2∗i+1)6\sum_{i=1}^{min\{n,m\}} i^2=\frac{i*(i+1)*(2*i+1)}{6}i=1min{n,m}i2=6i(i+1)(2i+1)

数学归纳法

∑i=1min{n,m}x2=x∗(x+1)∗(2∗x+1)6\sum_{i=1}^{min\{n,m\}} x^2=\frac{x*(x+1)*(2*x+1)}{6}i=1min{n,m}x2=6x(x+1)(2x+1)
(∑i=1min{n,m}x2)+(x+1)2=x∗(x+1)∗(2∗x+1)6+(x+1)2(\sum_{i=1}^{min\{n,m\}} x^2)+(x+1)^2=\frac{x*(x+1)*(2*x+1)}{6}+(x+1)^2(i=1min{n,m}x2)+(x+1)2=6x(x+1)(2x+1)+(x+1)2
=>(x+1)∗(2∗x2+x)+6(x+1)26=>\frac{(x+1)*(2*x^2+x)+6(x+1)^2}{6}=>6(x+1)(2x2+x)+6(x+1)2
=>(x+1)∗(2∗x2+7x+6)6=>\frac{(x+1)*(2*x^2+7x+6)}{6}=>6(x+1)(2x2+7x+6)
=>(x+1)∗(x+2)∗(2∗x+3)6=>\frac{(x+1)*(x+2)*(2*x+3)}{6}=>6(x+1)(x+2)(2x+3)
=>(x+1)∗(x+2)∗(2∗(x+1)+1)6=>\frac{(x+1)*(x+2)*(2*(x+1)+1)}{6}=>6(x+1)(x+2)(2(x+1)+1)

证毕


codecodecode

#include<cstdio>
#include<algorithm>
#define ll long long
#define sum(l,r) ((l+r)*(r-l+1)/2)
using namespace std;
const int XJQ=1e9+7;
ll n,m,ans;
ll Qs(ll n,ll k)
{ll ans=0;for(ll x=1,gx;x<=min(n,k);x=gx+1){gx=min(k/(k/x),n);(ans+=(k/x)*sum(x,gx)%XJQ)%=XJQ;}return ans%XJQ;
}
ll lx(ll x)
{return x*(x+1)%XJQ*(2*x+1)%XJQ*166666668%XJQ;
} 
int main()
{scanf("%lld%lld",&n,&m);if(m>n) swap(n,m);ans=(n*n-Qs(n,n))%XJQ;ans=(m*m-Qs(m,m))%XJQ*ans%XJQ;ans=(ans+Qs(m,m)*n%XJQ)%XJQ;ans=(ans+Qs(m,n)*m%XJQ)%XJQ;ans=(ans-m*m%XJQ*n%XJQ+XJQ)%XJQ;int tmp=0;for(ll i=1,dn,dm,next;i<=m;i=next+1){dm=m/i;dn=n/i;next=min(n/dn,m/dm);(tmp+=(lx(next)-lx(i-1))*dn%XJQ*dm%XJQ)%=XJQ;}printf("%lld",(ans-tmp+XJQ)%XJQ);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例)

引子这一篇文章将用一个完整的实例&#xff0c;给大家介绍如何基于dotnet core&#xff08;微软.NET的最新版本&#xff0c;支持跨平台&#xff0c;跨设备的应用开发&#xff0c;详情请参考 https://www.microsoft.com/net 开发一个Web API Service&#xff0c;并且利用Azure的…

如何基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步

转载自 如何基于Canal 和 Kafka&#xff0c;实现 MySQL 的 Binlog 近实时同步 近段时间&#xff0c;业务系统架构基本完备&#xff0c;数据层面的建设比较薄弱&#xff0c;因为笔者目前工作重心在于搭建一个小型的数据平台。优先级比较高的一个任务就是需要近实时同步业务系统…

spring boot添加swagger步骤

在xml中添加如下代码 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version></dependency><dependency><groupId>io.springfox</groupId><…

P1332,nssl1316-血色先锋军【bfs】

正题 题目链接:https://www.luogu.org/problemnew/show/P1332 题目大意 对于每个领主求与最近的感染源的距离 解题思路 那么水还要我讲&#xff1f;&#xff1f;&#xff1f; codecodecode #include<cstdio> #include<algorithm> #include<queue> using …

采用Opserver来监控你的ASP.NET项目系列(二、监控SQL Server与Asp.Net项目)

前言之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看.ASP.NET Core之跨平台的实时性能监控ASP.NET Core之跨平台的实时性能监控(2.健康检查)今天我们主要来介绍一下,如何使用Opserver监控我们的SQL Server 和ASP.NET项目的异常监控监控效果如下:SQL Server的…

Spring Boot 参数校验 Validation 入门

转载自 芋道 Spring Boot 参数校验 Validation 入门 本文在提供完整代码示例&#xff0c;可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-22 目录。 原创不易&#xff0c;给点个 Star 嘿&#xff0c;一起冲鸭&#xff01; 1. 概述 在想标题的时候&#xff0c;到底应该…

用turtle画皮卡丘

如何绘制皮卡丘 画左偏曲线函数 setheading属性的作用是什么&#xff1f; def radian_left(ang,dis,step,n):for i in range(n):disstep #dis增大stept.lt(ang) #向左转ang度t.fd(dis) #向前走dis的步长画右偏曲线函数 def radian_right(ang,dis,step,n):for i in range(n)…

nssl1317-灵魂分流药剂【分组背包,二维费用背包】

正题 题目大意 一个二维费用的分组背包 NoNoNo解题思路 codecodecode #include<cstdio> #include<algorithm> using namespace std; const int N110; int n,m,A,B,w[N],v[N],t[N],p[N],f[11][N][N]; int main() {scanf("%d%d%d%d",&n,&m,&…

Orchard Core一分钟搭建ASP.NET Core CMS

Orchard Core 是Orchard CMS的ASP.NET Core版本。Orchard Core是全新一代的ASP.NET Core CMS。官方文档介绍&#xff1a;http://orchardcore.readthedocs.io/en/latest/GitHub: https://github.com/OrchardCMS/OrchardCore下面快速开始搭建CMS新建项目打开VS2017 新建一个CMSWe…

在Linux系统上部署java web项目

将Spring boot项目打成jar包后放在服务器进行运行&#xff1a; 部署命令&#xff1a; nohup java -jar mybatis-0.0.1-SNAPSHOT.jar >output 2>&1 &查看进程&#xff1a; ps aux杀死服务器进程&#xff1a; kill -9 PID

nssl1318-地铁重组【dp】

正题 题目大意 n个东西依次进入一个容量为p的栈&#xff0c;求出栈的序列数量。 解题思路 设fi,jf_{i,j}fi,j​表示iii个已经进过栈了(不管还有没有出)&#xff0c;jjj个还在栈里。 首先是将现在这个进栈fi−1,j−1f_{i-1,j-1}fi−1,j−1​&#xff0c;然后是出栈fi,j1f_{i,…

面试:你说你精通Java并发,给我讲讲Java并发之J.U.C

转载自 面试&#xff1a;你说你精通Java并发&#xff0c;给我讲讲Java并发之J.U.C J.U.C J.U.C即java.util.concurrent包&#xff0c;为我们提供了很多高性能的并发类&#xff0c;可以说是java并发的核心。 J.U.C和CAS和Unsafe和AQS Concurrent包下所有类底层都是依靠CAS操…

.Net Core配置与自动更新

.Net Core 将之前Web.Config中的配置迁移到了appsettings.json文件中&#xff0c;并使用ConfigurationBuilder来读取这个配置文件。并可设置在配置文件变化以后&#xff0c;自动重新加载&#xff0c;这样可不用重启你的程序。12345var builder new ConfigurationBuilder().Set…

校园中介骗子

五一不回去就想着做个兼职&#xff0c;正好在学校群里看到了相关信息&#xff0c;就想丰富下自己的阅历。但是遇到了个黑心中介&#xff0c;专骗押金的。 我真的非常生气&#xff0c;不是说押金多少&#xff0c;而是这个行为&#xff0c;你发的信息上说的好的可以做一天&#x…

nssl1319-埃雷萨拉斯寻宝【SPFA,建图】

正题 题目大意 从第一列出发&#xff0c;到最后一列&#xff0c;然后可以传送到相同的魔法格里&#xff0c;经过不同的魔法格会损伤不同的生命(如果之前经过过就不会)。求最大剩余生命。 解题思路 因为相同的魔法格可以传送&#xff0c;所以你肯定不会回到相同的魔法格两次&a…

闲话权限系统的设计

一、权限的本质权限管理&#xff0c;首先要理清权限的本质&#xff1a;权限就是对受保护资源的有限许可访问。理解了权限的本质&#xff0c;就好谈权限的管理了。权限就是对受保护资源的有限许可访问--这句话包含两层含义&#xff1a;1&#xff0c;受保护的资源2&#xff0c;有…

初级Java开发与架构之间的差距不仅仅是开发时间

转载自 初级Java开发与架构之间的差距不仅仅是开发时间 一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器&#xff08;G1&#xff09;、GC算法…

欢乐SSL初二组周六赛【2019.4.27】

前言 AK???AK???AK??? 成绩 只放前101010&#xff0c;然后T3T3T3数据锅了一会 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCCDDD1112017WYC2017WYC2017WYC4004004001001001001001001001001001001001001002222016LJW2016LJW2016LJW39039039010010010010010…

gi如果某次提交错误,如何撤回

回退到指定commit版本 git reset --hard commit版本号强制推送到远程修改远程的commit git push --force

ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现

很长一段时间以来&#xff0c;我都在思考如何在ASP.NET Core的框架下&#xff0c;实现一套完整的事件驱动型架构。这个问题看上去有点大&#xff0c;其实主要目标是为了实现一个基于ASP.NET Core的微服务&#xff0c;它能够非常简单地订阅来自于某个渠道的事件消息&#xff0c;…