QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 512 MB Total points: 100

#8953. 士兵游戏

Statistics

小海は軍事に興味があり、今日は軍事ゲームをプレイすることにしました。

ゲーム内では、小海の兵士には $1, \dots, n$ と番号付けられた $n$ 個の駐屯地があります。経済を発展させるため、小海は駐屯地間に多くの通路を建設しました。具体的には、番号が $1$ ではない任意の駐屯地 $i$ に対して、$i$ と $\frac{i}{h(i)}$ を結ぶ距離 $1$ の双方向道路を建設しました。ここで $h(i)$ は $i$ の最小素因数と定義されます。(すべての駐屯地が木を形成することは容易に証明できます。)

国家の安全を守るため、小海は毎日すべての地点ペアの間で兵士をパトロールさせることにしました。もちろん、パトロールには一定のコストがかかります。具体的には、駐屯地 $i$ と駐屯地 $j$ の間のパトロールコストは、両点間の最短距離となります。

このとき、小海は毎日のパトロールコストの合計を知りたいと考えています。答えは非常に大きくなる可能性があるため、$10^9+7$ で割った余りを出力してください。

具体的には、小海は以下の値を求めています。 $$ \sum_{i=1}^{n-1}\sum_{j=i+1}^ndis(i,j)\pmod{ 10^9+7} $$ ここで $dis(i,j)$ は、この木における $i$ と $j$ の最短距離を表します。

入力

一行に、駐屯地の数を表す整数 $n$ が与えられます。

出力

一行に、木におけるすべての点ペアの最短距離の合計を出力してください。

入出力例

入力 1

6

出力 1

31

入力 2

50

出力 2

4986

制約

すべてのデータにおいて:$n \le 10^{10}$

サブタスク番号 $n \le $ 配点
1 $10^5$ 10
2 $5 \cdot 10^7$ 35
3 $10^9$ 25
4 $10^{10}$ 30

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.