Fear Factoring
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=abF(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.约束研究 2.约数和 3.余数求和 4.Fear Factoring 5.Floor and Mod 引入 整除分块是数论问题 ...
- Codeforces Gym100812 L. Knights without Fear and Reproach-扩展欧几里得(exgcd)
补一篇以前的扩展欧几里得的题,发现以前写错了竟然也过了,可能数据水??? 这个题还是很有意思的,和队友吵了两天,一边吵一边发现问题??? L. Knights without Fear and Rep ...
- 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]是周期串,最小周期为 ...
- 恐惧贪婪指数(Fear Greed Index)
一.介绍 恐惧贪婪指数(Fear & Greed Index,也称为恐惧与贪婪指数)是由德国软件供应商Alternative(https://alternative.me/) 提供,其官网地址 ...
- Chinese Fear More Historic Destruction
中国正发起一波新的开发热潮,以推动经济恢复增长势头.但一些人士却担心这会导致历史建筑遭受新一轮的破坏.在上海,推土机已经在刘家老宅旁待命.这座清代建筑即将迎来150岁生日,院子的历史可以追溯到19世纪 ...
- Expressing Fear(2019/1/4)
Discussion 1.What's the most terrifying(令人恐惧的) horror(令人恐怖的事物) movie you have ever seen? 2.After wat ...
- 《My fear in my heart》 | 《No fear in my heart》
今年的故事恐怕就要从朴树开始讲起了. 时隔14年以后终于等到了一张新专辑,对于听歌越来越偏向怀旧风的我来说,能一次性往播放器里添加好多新歌这件事,已经很久没发生过了.还记得3年前随<后会无期&g ...
- Fear the Night - 恐惧之夜[游戏介绍攻略]
游戏名: Fear the Night - 恐惧之夜 游戏分类: 冒险 上市时间: 2018年12月12日 游戏核心: 动作, 冒险, 大型多人在线, 角色扮演, 模拟 游戏语言: 中文简体 英语 法 ...
- Nothing spreads like fear——电影《传染病》观后感
Nothing spreads like fear 美国<娱乐周刊>说,这是一部能吓死人的传染病题材惊悚片,看完影片后一定会有想要洗手的强迫症. 但看完之后感觉并没有这么强烈,特别是对于正 ...
最新文章
- 只要掌握这三组公式,便可以在AI学习中如鱼得水了
- 【学术相关】CVPR2021最新接收论文合集!22个方向100+篇论文汇总|持续更新
- console 程序随系统启动及隐藏当前程序窗口
- rabbitmq-消息追踪rabbitmq_tracing
- vsftp socket 报错
- vue-router路由安装与使用
- 旗下首发双模5G+双挖孔全面屏!Redmi K30真机谍照曝光
- C语言--(四)常用运算符
- IDEA调试代码F7、F8、F9
- java三大框架介绍
- AvalonDock使用(1)-基本用法
- Python接口自动化测试_悠悠
- 【学习】从HttpClient3迁移到HttpClient4
- lisp 图层字体式样替换_ps将不同图层字体修改成相同字体的方法
- 关于m3u8中的IV参数
- 基于opencv答题卡识别
- python四级是什么水平_四级能过的水平大概什么水平?
- OpenGL(五)立体图形
- 在网页中创建自己的调试控制台
- 20160301 常用AFX函数
热门文章
- mysql dese_Mysql中的DQL查询语句(2)
- Android 抽离视频中的音频
- Joomla安装设置教程(转)
- 如何解决常见的Joomla安装问题
- 尚硅谷Java数据结构和java算法,韩顺平数据结构和算法课后作业01
- 用python编写飞机3D模型
- 基于Three.js的3D简历制作
- python海龟代码大全_海龟交易系统的Python完全版 | RiceQuant米筐量化社区 交易策略论坛...
- android badge xml文件,ToolBar MenuItem 实现 Badge 数字提醒
- html5 射门小游戏,HTML5简单的投篮小游戏