【JZOJ4819】【NOIP2016提高A组模拟10.15】算循环

题目描述

这里写图片描述

输入

这里写图片描述

输出

这里写图片描述

样例输入

167 198

样例输出

906462341

数据范围

这里写图片描述

解法

f(n)=ni=1ig(n)=ni=1i2
易得ans=ni=1mj=1f(ni+1)f(mj+1)
等价于ans=ni=1mj=1f(i)f(j)
显然f(n)=n(n1)/2
拆开得ans=14ni=1mj=1i(i+1)j(j+1)
再得

ans=14i=1ni(i+1)j=1mj(j+1)=14i=1n(f(i)+g(i))j=1m(f(j)+g(j))

其中g(n)=16n(n+1)(2n+1)

时间复杂度为O(log),逆元有复杂度。

代码

#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#define ll long long
#define ln(x,y) ll(log(x)/log(y))
#define sqr(x) ((x)*(x))
using namespace std;
const char* fin="loop.in";
const char* fout="loop.out";
const ll inf=0x7fffffff;
const ll mo=1000000007;
ll n,m,i,j,k,l,tmp,tmd,num,ans;
ll qpower(ll a,ll b){ll c=1;while (b){if (b&1) c=a*c%mo;a=a*a%mo;b>>=1;}return c;
}
ll N(int a){return qpower(a,mo-2);
}
ll sum(ll st,ll num){st%=mo;num%=mo;ll en=(st+num-1)%mo;return (st+en)%mo*num%mo*N(2)%mo;
}
ll xsum(ll n){n%=mo;return n*(n+1)%mo*(2*n+1)%mo*N(6)%mo;
}
ll count(ll v){return (sum(1,v)+xsum(v))%mo;
}
int main(){freopen(fin,"r",stdin);freopen(fout,"w",stdout);scanf("%lld%lld",&n,&m);ans=count(n)*count(m)%mo*N(4)%mo;printf("%lld",ans);return 0;
}

启发

的运算性质

1.(a+b)=a+b
2.abab=aabb
3.ikf(i)=kf(i)

ni=1i2公式

ni=1i2=16n(n+1)(2n+1)
证明:
利用数学归纳法检验。
g(n)=ni=1i2
先有

g(1)=16123=1=i=1ni2

如果g(x)满足g(x)=16x(x+1)(2x+1)
g(x+1)=16x(x+1)(2x+1)+(x+1)2=16(x+1)(6x+6+x(2x+1))=16(x+1)(2x2+7x+6)=16(x+1)(x+2)(2x+3)=16(x+1)[(x+1)+1][2(x+1)+1]

综上得证。

转载于:https://www.cnblogs.com/hiweibolu/p/6714869.html

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

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

相关文章

vb装入系统启动项

装入系统启动项 Dim WshShell Set WshShell CreateObject("WScript.Shell") WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\shi", "d:\shi.exe /start", "REG_SZ"

mysql key value 引擎_mysql集成的key-value引擎-个人翻译

正如上文提到的&#xff0c;我们只是释放出了一个技术预览版。此功能目前只是mysql的一个插件&#xff0c;使用memcached协议。If you would just like to get a brief introduction on thesetup steps, there is a “README-innodb_memcached” in themysql-5.6.2-labs-innodb…

运行命令全集

winver 检查Windows版本wmimgmt.msc 打开windows管理体系结构wupdmgr windows更新程序winver 检查Windows版本wmimgmt.msc 打开windows管理体系结构wupdmgr windows更新程序wwww windows脚本宿主设置write 写字板winmsd 系统信息wiaacmgr 扫描仪和照相机向导wi…

端口详解大全

端口&#xff1a;0 服务&#xff1a;Reserved 说明&#xff1a;通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口&#xff0c;当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描&#xff0c;使用IP地址为0.0.0.0&#xff0c;设置A…

mysql binlog 恢复指定表_Mysql用全备恢复指定表mysqlbinlog抽取某个表的信息

Mysql恢复到指定表2009年05月27日 作者&#xff1a; 大头刚一、从全备中提取某一个表的信息&#xff0c;并进行恢复恢复使用Mysqldump工具备份的数据&#xff0c;有个不方便的地方&#xff0c;就是在恢复的时候不能指定恢复到表&#xff0c;例如我备份了整个数据库&#xff0c…

Hyperledger中数据存取的实现

简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储&#xff0c;其中key是字符串&#xff0c;value则是二进制字节数组&#xff0c;Hyperledger的Go API提供了三个方法用于数据存取&#xff1a;PutState&#xff08;key, value&am…

计算机基本操作术语

操作系统 计算机硬件系统外面加载的第一道软件系统&#xff0c;专门用于管理计算机硬件和其它软件,响应用户对硬件和软件的操作&#xff0c;在微机上常见的有DOS、Windows3.2,Win95/98/NT等。 安装程序 由于目前的软件都涉及许多文件和子目录,所以一般都提供安装程序帮助用户自…

mysql 4 中文模糊查询_解决MySQL中文模糊查询问题

解决MySQL中文模糊查询问题&#xff1a;我们在MySQL中进行中文模糊查询时&#xff0c;经常会返回一些与之不相关的记录&#xff0c;比如查找 "%a%" 时&#xff0c;返回的可能有中文字符&#xff0c;却没有 a 字符存在。对于此问题目前发现一种方法可以很方便解决。例…

《信息安全系统设计基础》 第五周学习总结

20145224 《信息安全系统设计基础》第五周学习总结 教材学习内容总结 3.1 历史观点 X86寻址的三个时代&#xff1a; 1、DOS时代的平坦模式&#xff0c;不区分用户空间和内核空间&#xff0c;很不安全&#xff1b; 2、8086的分段模式&#xff1b; 3、IA32的带保护模式的平坦模式…

中文版php.ini

;;;;;;;;;;;; ;; 语法 ;; ;;;;;;;;;;;; ; 该文件的语法非常简单。空白字符和以分号开始的行被简单地忽略。 ; 章节标题(例如: [php])也被简单地忽略&#xff0c;即使将来它们可能有某种意义。 ; ; 设置指令的格式如下&#xff1a; ; directive value ; 指令名(directive)是大小…

使用轻量级Spring @Scheduled注解执行定时任务

WEB项目中需要加入一个定时执行任务&#xff0c;可以使用Quartz来实现&#xff0c;由于项目就一个定时任务&#xff0c;所以想简单点&#xff0c;不用去配置那些Quartz的配置文件&#xff0c;所以就采用了Spring Scheduled注解来实现了定时任务。在这里做个备注。 spring配置文…

mysql 表名通配符导出_mysqldump根据通配符批量导出

xtrabackup的主要优点&#xff1a;1,物理备份&#xff0c;备份速度快2,热备份、无需停机3,恢复速度快4.自动会对备份文件进行验证1. xtrabackup 工具的安装1.1 安装依赖包#No package perl-Digest-MD5 available.yum install -y rsync perl l perl-Digest-MD5 perl perl-devel …

系统垃圾清理.cmd

将以下内容保存为“系统垃圾清理.cmd”文件&#xff0c;运行即可 echo off echo 正在清除系统垃圾文件&#xff0c;请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del …

Android内存优化(使用SparseArray和ArrayMap代替HashMap)

出处&#xff1a;Sunzxyong HashMap HashMap内部是使用一个默认容量为16的数组来存储数据的&#xff0c;而数组中每一个元素却又是一个链表的头结点&#xff0c;所以&#xff0c;更准确的来说&#xff0c;HashMap内部存储结构是使用哈希表的拉链结构&#xff08;数组链表&#…

mysql按日期获取最新_mysql获取按日期排序获取最新的记录

主要按照日期获得最新的数据&#xff1b;今天记录两种方式&#xff0c;并不涉及效率等其他方面问题&#xff1a;第一种&#xff0c; 利用GROUP BY原理&#xff1a;select * from (select * from authenticationrecord order by authenticationtime desc) temp group by merchan…

vbs运算符号和函数

基本运算 数字加法及字符串连接 - 数字减法 * 数字乘法 / 数字除法 Mod 求余数 \ 求商数 & 字符串连接 ^ 次方 相等 <> 不相等 > 大于或等于 > 大于 < 小于或等于 < 小于 Not 非 And 且 Or 或 Xor 异或 循环及决策 if ....then 若…

VS2010与QT的集成开发环境

http://blog.csdn.net/hbsong75/article/details/9293773 QT与Java有点类似&#xff0c;也是一种跨平台的软件&#xff08;当然在windows平台和Linux平台需要安装相应的QT开发环境和运行库&#xff0c;类似于JAVA在不同平台下的虚拟机JVM环境&#xff09;&#xff0c;因此对于某…

yum mysql 5.1 innodb_Yum升级mysql5.1到5.6

Yum升级mysql5.1到5.6有一些虚拟机、云主机提供商仍然使用的是老版本的安装套件。预装的应用软件版本很低。比如 techbrood.com 使用的云服务器&#xff0c;其中MySQL预装版本为老版本5.1.x。而最新的mysql版本在性能、功能、安全性等方面都有了很多的改进。要从最新版本获益&a…

遍历处理path及其子目录所有文件

遍历处理path及其子目录所有文件Sub ShowAllFile(Path) Set FSO CreateObject("Scripting.FileSystemObject") Set f FSO.GetFolder(Path) Set fc2 f.files For Each myfile in fc2 WScript.Echo path&"\"&myfile.name …

mysql用户和权限备份_备份MySQL用户和权限

Mysql用户在数据库Mysql的表用户中,为了备份这个表,你可以这样做&#xff1a;mysqldump -u root -p mysql user > UserTableBackup.sql对于备份所有mysql数据库并为每个数据库创建一个文件,你可以自己编写shell脚本,遵循一些可以帮助你的代码&#xff1a;# Get all database…