http://codeforces.com/group/NVaJtLaLjS/contest/242532
The Slivians are afraid of factoring; it’s just, well, difficult.
Really, they don’t even care about the factors themselves, just how much they sum to.
We can define F(n) as the sum of all of the factors of n; so F(6) = 12 and F(12) = 28. Your task
is, given two integers a and b with a ≤ b, to calculate
S =
X
a≤n≤b
F(n).
Input
The input consists of a single line containing space-separated integers a and b (1 ≤ a ≤ b ≤ 1012;
b − a ≤ 106
).
Output
Print S on a single line.
Sample Input and Output
101 101 102
28 28 56
1 10 87
987654456799 987654456799 987654456800
2017 Pacific Northwest Region Programming Contest 9
963761198400 963761198400 5531765944320
5260013877 5260489265 4113430571304040

题意:F(n)是n的因数和,求 ∑ n = a b F ( n ) \sum_{n=a}^bF(n) ∑n=ab​F(n)
思路:
方法1:lyr大佬的方法:只枚举每个数的较小因子,另一个通过等差数列求和的方法计算出。复杂度O( b \sqrt{b} b ​)

#include<bits/stdc++.h>
using namespace std;
#define maxn 50000+100
#define ll long longll a,b,ans;int main()
{cin>>a>>b;ll m=sqrt(b+0.5);for(ll i=1;i<=m;i++)   //较小因数{ll l=(a-1)/i+1,r=b/i;  //[l,r]是另一因子的范围if(l<i)l=i;   //比如8在2,4时算过,就不算4,2了。if(l>r)continue;ll t=r-l+1;ans+=t*i+(l+r)*t/2;if(i*i>=a&&i*i<=b)ans-=i;}cout<<ans<<endl;return 0;
}

方法2:除法分块,,转化为前n个数的因数和,复杂度O( b \sqrt{b} b ​)
参考文章:
知识点:https://www.cnblogs.com/SGCollin/p/9630478.html
关于本题:https://blog.csdn.net/qq_39792342/article/details/82780855

#include<bits/stdc++.h>
using namespace std;
#define maxn 50000+100
#define ll long long
#define ull unsigned long longll a,b;ll cal(ll n)
{ll ans=0;for(ll l=1;l<=n;l++)  //枚举因数{ll t=n/l;   //前n个数含因数l的数的个数=tll r=n/t;    //[l,r]内的每个数都是t个数的因数,ans+=((ull)l+r)*(r-l+1)/2*t;    //[l,r]作为因数的贡献l=r;}   return ans;
}int main()
{// freopen("input.in","r",stdin);cin>>a>>b;cout<<cal(b)-cal(a-1)<<endl;return 0;
}

Fear Factoring相关推荐

  1. 【数论】整除分块(数论分块)

    目录 引入 找规律 分块数量(时间复杂度分析) 分块边界 模板 例题 1.约束研究 2.约数和 3.余数求和 4.Fear Factoring 5.Floor and Mod 引入 整除分块是数论问题 ...

  2. Codeforces Gym100812 L. Knights without Fear and Reproach-扩展欧几里得(exgcd)

    补一篇以前的扩展欧几里得的题,发现以前写错了竟然也过了,可能数据水??? 这个题还是很有意思的,和队友吵了两天,一边吵一边发现问题??? L. Knights without Fear and Rep ...

  3. UVa11022 String Factoring(kmp+dp)

    用dp(i,j)表示子串s[i..j]可以表示的最小长度.动态转移方程有 dp(i,j) = min{dp(i,k) + dp(k+1,j)},其中k属于[i,j].s[i..j]是周期串,最小周期为 ...

  4. 恐惧贪婪指数(Fear Greed Index)

    一.介绍 恐惧贪婪指数(Fear & Greed Index,也称为恐惧与贪婪指数)是由德国软件供应商Alternative(https://alternative.me/) 提供,其官网地址 ...

  5. Chinese Fear More Historic Destruction

    中国正发起一波新的开发热潮,以推动经济恢复增长势头.但一些人士却担心这会导致历史建筑遭受新一轮的破坏.在上海,推土机已经在刘家老宅旁待命.这座清代建筑即将迎来150岁生日,院子的历史可以追溯到19世纪 ...

  6. Expressing Fear(2019/1/4)

    Discussion 1.What's the most terrifying(令人恐惧的) horror(令人恐怖的事物) movie you have ever seen? 2.After wat ...

  7. 《My fear in my heart》 | 《No fear in my heart》

    今年的故事恐怕就要从朴树开始讲起了. 时隔14年以后终于等到了一张新专辑,对于听歌越来越偏向怀旧风的我来说,能一次性往播放器里添加好多新歌这件事,已经很久没发生过了.还记得3年前随<后会无期&g ...

  8. Fear the Night - 恐惧之夜[游戏介绍攻略]

    游戏名: Fear the Night - 恐惧之夜 游戏分类: 冒险 上市时间: 2018年12月12日 游戏核心: 动作, 冒险, 大型多人在线, 角色扮演, 模拟 游戏语言: 中文简体 英语 法 ...

  9. Nothing spreads like fear——电影《传染病》观后感

    Nothing spreads like fear 美国<娱乐周刊>说,这是一部能吓死人的传染病题材惊悚片,看完影片后一定会有想要洗手的强迫症. 但看完之后感觉并没有这么强烈,特别是对于正 ...

最新文章

  1. 只要掌握这三组公式,便可以在AI学习中如鱼得水了
  2. 【学术相关】CVPR2021最新接收论文合集!22个方向100+篇论文汇总|持续更新
  3. console 程序随系统启动及隐藏当前程序窗口
  4. rabbitmq-消息追踪rabbitmq_tracing
  5. vsftp socket 报错
  6. vue-router路由安装与使用
  7. 旗下首发双模5G+双挖孔全面屏!Redmi K30真机谍照曝光
  8. C语言--(四)常用运算符
  9. IDEA调试代码F7、F8、F9
  10. java三大框架介绍
  11. AvalonDock使用(1)-基本用法
  12. Python接口自动化测试_悠悠
  13. 【学习】从HttpClient3迁移到HttpClient4
  14. lisp 图层字体式样替换_ps将不同图层字体修改成相同字体的方法
  15. 关于m3u8中的IV参数
  16. 基于opencv答题卡识别
  17. python四级是什么水平_四级能过的水平大概什么水平?
  18. OpenGL(五)立体图形
  19. 在网页中创建自己的调试控制台
  20. 20160301 常用AFX函数

热门文章

  1. mysql dese_Mysql中的DQL查询语句(2)
  2. Android 抽离视频中的音频
  3. Joomla安装设置教程(转)
  4. 如何解决常见的Joomla安装问题
  5. 尚硅谷Java数据结构和java算法,韩顺平数据结构和算法课后作业01
  6. 用python编写飞机3D模型
  7. 基于Three.js的3D简历制作
  8. python海龟代码大全_海龟交易系统的Python完全版 | RiceQuant米筐量化社区 交易策略论坛...
  9. android badge xml文件,ToolBar MenuItem 实现 Badge 数字提醒
  10. html5 射门小游戏,HTML5简单的投篮小游戏