#P10321. 奉献(Dedication)

    ID: 11504 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>数学数论洛谷原创Special JudgeO2优化素数判断,质数,筛法最大公约数 gcd洛谷比赛

奉献(Dedication)

背景

不断鞭策自己的数学精神 —— 奉献。


「奉献之光」丽莎,既是「秩序之神」派拉的神官,亦为「无秩序之神」迪奥尼斯的信徒。

丽莎最近学习了高精度除法,她能以 Θ(nlog⁡n)\Theta(n \log n) 的时间复杂度计算 nn 位整数除法了。

题目描述

丽莎想要制作一张 nn 以内正整数的除法表。具体来说,是一张记录了 ⌊a/b⌋\lfloor a/b \rfloor(1≤b≤a≤n1\leq b \leq a \leq n,a,ba,b 均为整数)的表格。她使用如下方法来制作:

以 aa 为第一关键字从小到大,以 bb 为第二关键字从小到大的顺序枚举位置 (a,b)(a,b)。若 (a,b)(a,b) 位置未被填写,则:

计算 ⌊a/b⌋\lfloor a/b \rfloor,这需要消耗的魔力为 dalog⁡2dad_a \log_2 d_a(其中 dad_a 表示 aa 在十进制下的位数,即 da=⌊1+log⁡10a⌋d_a=\lfloor 1+ \log_{10}a\rfloor)。然后枚举正整数 ii,找到所有未被填写的 (ai,bi)(ai,bi)(ai≤nai\leq n)位置都填写入 ⌊a/b⌋\lfloor a/b \rfloor。每次填写需要消耗的魔力为 did_i。

由于美娜已经做过一张乘法表,丽莎无需魔力就可以直接计算乘法。现在丽莎想要知道,制作整个除法表需要消耗多少魔力。

为了防止精度问题,只要你的输出与标准输出的相对误差不超过 10−610^{-6} 则视为正确。保证标准输出与实际答案的相对误差不超过 10−1010^{-10}。

输入格式

输入一行一个正整数 nn,表示要制作大小为 nn 的除法表。

输出格式

输出一行一个实数,表示答案。

6
21.0000000
20
422.0000000
233
99838.0384544

提示

【样例 11 解释】

由于 a≤6a \leq 6,da=1d_a=1,从而 dalog⁡2da=0d_a \log_2 d_a=0。也就是说在此范围下只有填写数字会消耗魔力。而每次 ii 也不超过 66,满足 di=1d_i=1,每次填写都消耗固定 11 点魔力,要填写全部 1+2+3+4+5+6=211+2+3+4+5+6=21 个数消耗的魔力就是 2121。

故答案为 2121。

【数据范围】

本题采用捆绑测试。

Subtask 1(15 pts):n≤5000n\le 5000;
Subtask 2(15 pts):n≤105n\le 10^5;
Subtask 3(30 pts):n≤2×106n\le 2 \times 10^6;
Subtask 4(40 pts):无特殊限制。

对于全部的数据,1≤n≤2×1071\le n \le 2 \times 10^7。

【提示】

log⁡2n\log_2 n 读作「以 22 为底的 nn 的对数」。设 x=log⁡2nx=\log_2n,它表示 2x=n2^x=n。