分析:注意到%的意义,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 余数之和(数论)相关推荐

  1. 数论、关于余数之和的浅解

    求余数之和问题 就相当于一个n和k,将k对1~n的数分别求余数,然后求出来和是多少,其表达公式如j(n,k)=k%1+k%2+k%3+-+k%n. 单单暴力的话,时间上非常浪费,所以这个时候引用数论里 ...

  2. bzoj 1257: [CQOI2007]余数之和sum 数论

    1257: [CQOI2007]余数之和sum Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnlin ...

  3. BZOJ 1257 [CQOI2007]余数之和sum 题解

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 1138  Solved: 509 [Submit][S ...

  4. BZOJ 1257: [CQOI2007]余数之和sum【神奇的做法,思维题】

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 4474  Solved: 2083 [Submit][ ...

  5. bzoj1257: [CQOI2007]余数之和sum

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 2787  Solved: 1278 [Submit][ ...

  6. bzoj 1257: [CQOI2007]余数之和sum

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 4462  Solved: 2078 [Submit][ ...

  7. YBT高效进阶 6.2.5 余数之和

    YBT高效进阶 6.2.5 余数之和 思路 (n,k)(n,k)(n,k) =∑i=1nkmodi=\sum_{i=1}^nk\bmod i=∑i=1n​kmodi =∑i=1nk−⌊ki⌋=\sum ...

  8. 数学知识——余数之和

    传送门:199. 余数之和 - AcWing题库 思路:如下 代码: #include<iostream> #include<cstring> #include<algo ...

  9. [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} ...

最新文章

  1. 一直以为Python没有自带四舍五入的函数
  2. SpringCloud学习笔记(1)- Spring Cloud Alibaba
  3. 【Microstation】不能从对话框中装载/创建类型为 ‘HTML‘,id =41510001 的对话框条目,该对话框为: “文本编辑器 - 字处理器“,GCSDIALOG 已装载。
  4. 预防和检测如日中天?事件响应表示不服
  5. 使用 Akka 实现 Master 与 Worker 之间的通信
  6. 【Android开发—智能家居系列】(二):用手机对WIFI模块进行配置
  7. leetcode刷题:LRU缓存淘汰算法
  8. 计算机视觉与模式识别代码合集第二版three
  9. POJ1007 UVA612 UVALive5414 ZOJ1188 HDU1379 Bailian4086 DNA Sorting【排序+逆序数】
  10. HITS 算法(Hypertext Induced TopicSelection)
  11. 如何使用CodeBlocks开发C/C++程序
  12. 初涉SEO有感-房途网SEO
  13. 深度学习之MNIST数据集
  14. 微信抖音的服务器,抖音微信登陆未获得权限怎么办
  15. 浪潮服务器 U盘安装 Windows server 2016系统
  16. SCI检索号识别一法:UT-WOS与UT-ISI
  17. 双卡4G路由器_4G双卡双模路由器_4G双网双待路由器
  18. html文本框的文字间距,word文本框中2行文字的间距为什么那么大
  19. 取石子c语言,取石子(一)(C语言)
  20. 2-4 第18次课 高项之沟通管理与干系人管理

热门文章

  1. div模拟的下拉框特效jquery
  2. BIOS设置和CMOS设置的区别和联系
  3. Adobe Creative Suite CS4/CS5 全系列注册机
  4. java高效代码_Java工程师该如何编写高效代码?
  5. 查看mysql版本不一致_MySQL-版本不一致
  6. html自动获取用户位置,HTML5 - 使用Geolocation(地理定位)获取用户的位置
  7. git 强制更新远程_版本控制管理工具git的常见指令合集
  8. gps有几个轨道面_嫦娥五号轨道器和返回器组合体成功进入月地转移轨道
  9. oracle如何进入管理器,oracle 启动管理器
  10. c++十六进制加法_C++中输出十六进制形式的字符串