LightOJ - 1098 A New Function
题意:定义SOD(n)=n除去1和自身的所有因数的和,CSOD(n)为ΣSOD(i),1<=i<=n。T (≤ 1000)组数据,求CSOD(n),(0 ≤ n ≤ 2 * 109)
对于不同的数m,m=a*b,a<=b;枚举a,判断不大于n的中有哪些可以写成m=a*b的,把a和b加到答案上。复杂度是O(√n)
如何维护答案呢?
举例子,作为a出现的3有多少次呢?是n/3 * 3吗?并不是。要注意到我们要求a<=b,那么从m=9开始,3才会作为a出现,而3,6中的因数3并不作为a对答案贡献。所以ans += (n / i - i + 1) * i;
a为一个数时,对应的b成等差数列,最大值是n / i,最小值是a+1,(注意m=a*a时,a只能算一次贡献, 所以这里不是a)
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <cmath> 5 #define INF 0x3f3f3f3f 6 using namespace std; 7 typedef long long LL; 8 9 int T; 10 LL N; 11 12 int main() { 13 scanf("%d", &T); 14 for (int t = 1; t <= T; t++) { 15 LL ans = 0; 16 scanf("%lld", &N); 17 LL tmp = sqrt(N); 18 for (LL i = 2; i <= tmp; i++) { 19 ans += (N / i - i + 1) * i; 20 LL down = i + 1, up = N / i; 21 //if (down > up) continue; 因为down > up的情况只会出现于n可表示为n=x *x 的情况,此时down = up + 1。下方右式恰好为0 22 ans += (up + down) * (up - down + 1) / 2; 23 } 24 printf("Case %d: %lld\n", t, ans); 25 } 26 return 0; 27 }
转载于:https://www.cnblogs.com/xFANx/p/7529281.html
LightOJ - 1098 A New Function相关推荐
- lightoj 1098 A New Function 约数之和(一道奇怪的数论) 整除分块优化
文章目录 题目如下: 思考人生: 题目如下: lightoj 1098 A New Function 求1-n所有数的所有约数之和(不包括1和它本身).n<=2e9. 思考人生: 首先考虑打表找 ...
- lightoj刷题日记
开始板刷lightoj,每天题量>=1: 题目的类型会在这边说明,具体见分页博客: ----------------- 必须要update了... so...板刷第二页搞呀--2017/4/17 ...
- [kuangbin]各种各样的题单
[kuangbin]各种各样的题单 专题1 简单搜索 POJ 1321 POJ 2251 POJ 3278 POJ 3279 POJ 1426 POJ 3126 POJ 3087 POJ 3414 F ...
- 分享一个文件上传工具类
文件上传状态枚举类: View Code 1 package com.hoo.enums; 2 3 4 5 /** 6 7 * <b>function:</b> 文件上传状态 ...
- 杜教筛 (包括线筛) 莫比乌斯函数前缀和 欧拉函数前缀和 因数和函数前缀和 因子个数前缀和 ( 分析 )...
对于莫比乌斯函数 和 欧拉函数 小于 1e8差不多都可线筛 1e12以内 杜教筛 代码针对洛古 p4213 n<=(1<<31)-1 杜教筛 #include< ...
- Sigma Function LightOJ - 1336[约数和定理]
题目大意:求1到n之间的数因子和是偶数有几个 解题思路:对于任意一个xxx,都有x=p1a1∗p2a2∗p3a3...∗pxas,x的所有约数之和就是sum=(1+p11+p12+..p1a1)∗(1 ...
- LightOJ 1336 Sigma Function
题意: 每个数字都是由质因数乘积组成: 于是这个数的所有因子之和就是: 求小于等于n的数中所有质因子之和是偶数的数的个数. 思路: 如上式,求所有质因子之和就是每个质因子(p^0+p^1+p^2+-- ...
- Android笔记-Linux Kernel Ftrace (Function Trace)解析
from : http://blog.csdn.net/hlchou/article/details/6441272 [ ftrace 简介 http://www.ibm.com/developerw ...
- 创建一个Scalar-valued Function函数来实现LastIndexOf
昨天有帮助网友解决的个字符串截取的问题,<截取字符串中最后一个中文词语(MS SQL)>http://www.cnblogs.com/insus/p/7883606.html 虽然实现了, ...
最新文章
- Mysql默认密码的查找和修改
- Truncate 删除数据
- 计算机应用基础 网上教学设计方案,《计算机应用基础》(本)教学设计方案.doc...
- 基于DDD的现代ASP.NET开发框架--ABP系列之1、ABP总体介绍
- pjsip视频通信开发(上层应用)之拨号界面整体界面功能实现
- gis中dbf转为csv_Python中.dbf到.csv的批量转换
- 嫦娥之死天蓬元帅的转世
- 算法—快速排序Sqrt (C语言)
- SQL Server MYSQL 对外键建立索引的必要性
- oracle知识小结二
- 【原创】洛谷 LUOGU P3371 【模板】单源最短路径
- 1018. Binary Prefix Divisible By 5可被 5 整除的二进制前缀
- exe dll html病毒专杀,清除更改主页的mshtmldy.dll、mshtmldx.dll病毒
- 苹果电脑安装windows系统 失败后 磁盘空间丢失
- Java虚拟机的类加载机制全面解析
- aria2+RPC+m3u8下载工具(windows版)
- 如何通过树莓派/Python/smtp发送电子邮件
- m3u8视频下载和转码mp4
- FPGA——HLS简介
- 发现电脑屏幕总是不自动关闭?看看你是否打开了这些程序……
热门文章
- requests(二): json请求中固定键名顺序消除键和值之间的空格
- 多迪技术总监揭秘:普通UI设计师与顶级UI设计师的区别是什么?
- CentOS No manual entry for man 没有 xx 的手册页条目
- You should rebuild using libgmp = 5 to avoid timing attack vulnerability
- 在jsp页面中实现格式化数字,百分比,货币
- 【转载】探索式测试基础系列—生活进阶曲
- Socket 同步/异步 与阻塞/非阻塞区别
- Linux ALSA声卡驱动之六:ASoC架构中的Machine
- 15套漂亮的 PSD 格式的图标,不一样的视觉效果
- cisco路由器基本命令配置