ZOJ 3175 Number of Containers 【数学图像性质(一个常见算式的经典计算)】
2018-01-26 10:30
435 查看
传送门
// 按照题意出发我们可以很容易的推导出最后求
(n/1 + n/2 + …. + n/n) - n.
// 可以记一下这个算式的特征, 因为这个还是比较经典的, 后面可能会遇到的.
那么如何求了,暴力肯定不行, 又是一个调和级数无通项, 所以只有从函数图像入手, y = n / x , 可以发现这幅图是关于x = y 对称的, 所以我们只需要算一遍√n的ans, 然后*2, 由于x == y 是被重复算了, 再减去即可.
AC Code
// 按照题意出发我们可以很容易的推导出最后求
(n/1 + n/2 + …. + n/n) - n.
// 可以记一下这个算式的特征, 因为这个还是比较经典的, 后面可能会遇到的.
那么如何求了,暴力肯定不行, 又是一个调和级数无通项, 所以只有从函数图像入手, y = n / x , 可以发现这幅图是关于x = y 对称的, 所以我们只需要算一遍√n的ans, 然后*2, 由于x == y 是被重复算了, 再减去即可.
AC Code
void solve() { ll n ; cin >> n ; ll ans = 0; for (ll i = 1 ; i*i <= n ; i ++) { ans += n/i; } ans *= 2; ll k = sqrt(n); ans -= k*k + n; cout << ans << endl; }
相关文章推荐
- zoj 3175 Number of Containers (nbut1375) 计算n /1+n/2+n/3+n/4....+n/n
- zoj 3175 Number of Containers (大数灵活题,除2改成平方根)
- zoj 3175 Number of Containers
- zoj 3175 Number of Containers 分块加速
- TOJ 2909 ZOJ 3175 Number of Containers / 数论
- ZOJ - 3175 Number of Containers
- ZOJ 3175 Number of Containers(n/1+n/2+...+n/(n-1)+n/n求法)
- Count the number of bits that are on in an unsigned integer(计算一个无符整数中1Bit的个数)-- (1)
- zoj 3175 Number of Containers(数论~)
- Number of Containers [ZOJ 3126]
- 数学 FZU 2074 Number of methods
- 自己写的一个用栈方法来计算的数学表达式
- LeetCode Number of Digit One(计算1的个数)
- Number of Digit One(数学找规律)
- 常见的C++数学计算库
- ZOJ 3327 Friend Number(数学啊 )
- 实现一个简单的数学计算题
- 数学之路-python计算实战(11)-机器视觉-图像增强
- 计算机科学与技术学习心得之计算机理论的一个核心问题--计算数学基础(转载)
- 一个非常好用的数学函数图像生成工具