51nod 1225 余数之和(数论)
分析:注意到%的意义,n%i=n-[n/i]*i,所以F(n)=n^2-∑[n/i]*i,后面一项可以分块做,对i从1到sqrt(n)直接求,然后对后面的枚举[n/i],用等差数列求和。
1 #include<stdio.h> 2 #include<math.h> 3 typedef long long ll; 4 const int mod=1000000007; 5 ll test(ll n){ 6 ll sum=0; 7 for(ll i=1;i<=n;i++){ 8 sum=(sum+n%i)%mod; 9 } 10 return sum; 11 } 12 int main(){ 13 ll n; 14 while(scanf("%lld",&n)!=EOF){ 15 ll sum=0; 16 ll q=sqrt(n),a,b; 17 for(ll i=1;n/i>q;i++){ 18 sum=(sum+n/i*i)%mod; 19 } 20 for(ll k=1;k<=q;k++){ 21 a=(n/(k+1)+1)%mod;b=(n/k)%mod; 22 sum=(sum+((k*500000004)%mod)*(((a+b)*(b-a+1))%mod))%mod; 23 } 24 ll ans=(n%mod)*(n%mod)-sum; 25 ans=(ans%mod+mod)%mod; 26 // printf("%lld %lld\n",ans,test(n)); 27 printf("%lld\n",ans); 28 } 29 return 0; 30 }
转载于:https://www.cnblogs.com/7391-KID/p/7612940.html
51nod 1225 余数之和(数论)相关推荐
- 数论、关于余数之和的浅解
求余数之和问题 就相当于一个n和k,将k对1~n的数分别求余数,然后求出来和是多少,其表达公式如j(n,k)=k%1+k%2+k%3+-+k%n. 单单暴力的话,时间上非常浪费,所以这个时候引用数论里 ...
- bzoj 1257: [CQOI2007]余数之和sum 数论
1257: [CQOI2007]余数之和sum Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnlin ...
- BZOJ 1257 [CQOI2007]余数之和sum 题解
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec Memory Limit: 162 MB Submit: 1138 Solved: 509 [Submit][S ...
- BZOJ 1257: [CQOI2007]余数之和sum【神奇的做法,思维题】
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec Memory Limit: 162 MB Submit: 4474 Solved: 2083 [Submit][ ...
- bzoj1257: [CQOI2007]余数之和sum
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec Memory Limit: 162 MB Submit: 2787 Solved: 1278 [Submit][ ...
- bzoj 1257: [CQOI2007]余数之和sum
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec Memory Limit: 162 MB Submit: 4462 Solved: 2078 [Submit][ ...
- YBT高效进阶 6.2.5 余数之和
YBT高效进阶 6.2.5 余数之和 思路 (n,k)(n,k)(n,k) =∑i=1nkmodi=\sum_{i=1}^nk\bmod i=∑i=1nkmodi =∑i=1nk−⌊ki⌋=\sum ...
- 数学知识——余数之和
传送门:199. 余数之和 - AcWing题库 思路:如下 代码: #include<iostream> #include<cstring> #include<algo ...
- [bzoj] 1257 余数之和sum || 数论
原题 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数. \(\sum^n_{i=1} ...
最新文章
- 一直以为Python没有自带四舍五入的函数
- SpringCloud学习笔记(1)- Spring Cloud Alibaba
- 【Microstation】不能从对话框中装载/创建类型为 ‘HTML‘,id =41510001 的对话框条目,该对话框为: “文本编辑器 - 字处理器“,GCSDIALOG 已装载。
- 预防和检测如日中天?事件响应表示不服
- 使用 Akka 实现 Master 与 Worker 之间的通信
- 【Android开发—智能家居系列】(二):用手机对WIFI模块进行配置
- leetcode刷题:LRU缓存淘汰算法
- 计算机视觉与模式识别代码合集第二版three
- POJ1007 UVA612 UVALive5414 ZOJ1188 HDU1379 Bailian4086 DNA Sorting【排序+逆序数】
- HITS 算法(Hypertext Induced TopicSelection)
- 如何使用CodeBlocks开发C/C++程序
- 初涉SEO有感-房途网SEO
- 深度学习之MNIST数据集
- 微信抖音的服务器,抖音微信登陆未获得权限怎么办
- 浪潮服务器 U盘安装 Windows server 2016系统
- SCI检索号识别一法:UT-WOS与UT-ISI
- 双卡4G路由器_4G双卡双模路由器_4G双网双待路由器
- html文本框的文字间距,word文本框中2行文字的间距为什么那么大
- 取石子c语言,取石子(一)(C语言)
- 2-4 第18次课 高项之沟通管理与干系人管理
热门文章
- div模拟的下拉框特效jquery
- BIOS设置和CMOS设置的区别和联系
- Adobe Creative Suite CS4/CS5 全系列注册机
- java高效代码_Java工程师该如何编写高效代码?
- 查看mysql版本不一致_MySQL-版本不一致
- html自动获取用户位置,HTML5 - 使用Geolocation(地理定位)获取用户的位置
- git 强制更新远程_版本控制管理工具git的常见指令合集
- gps有几个轨道面_嫦娥五号轨道器和返回器组合体成功进入月地转移轨道
- oracle如何进入管理器,oracle 启动管理器
- c++十六进制加法_C++中输出十六进制形式的字符串