#P12745. [致理杯 2025 div 1] wisadel_sub2
[致理杯 2025 div 1] wisadel_sub2
wisadel
注意:这是本题的第二个部分,在这里提交将评测第 个 subtask 的数据,并获取对应分数,需要测试样例的请在 wisadel_sub1 中提交。
在这个子任务中:时间限制 ,空间限制 。
题目背景
有 个祖宗,第 个祖宗的攻击力为 ,其中 为 中与 互质的非零自然数个数。
由于 是看血狼破军看的,热衷于计算干员的 。他想计算 的 就得先计算她所有祖宗的攻击力之和,但是 最近沉迷萨卡兹的无终奇语无法自拔,于是他请你来帮他计算 所有祖宗的攻击力之和。
因为 是前文明最后的人类,实力非凡,所以你只需要输出答案对 取模的结果他就可以计算出 的 。
题目描述
请计算:
输入输出样例
【样例 输入】
10
【样例 输出】
8
【样例 输入】
10000000000
【样例 输出】
282084447
【样例 输入】
1000000000000
【样例 输出】
3875137357
【样例 输入】
5
【样例 输出】
2
数据规模与约定
- Subtask 1(10pts): 。
- Subtask 2(30pts): 。
- Subtask 3(5pts): 。
- Subtask 4(40pts): 。
- Subtack 5(15pts): 。
提示
认为,整形除法的常数远大于浮点除法,因此在大量需要整形除法的场景中请尽可能地使用浮点除法。
受评测机限制,出题人下发一个筛 的小常数杜教筛模板。
使用方法:
调用 SIEVE::SIEVE(long long,std::vector<unsigned>&,std::vector<unsigned>&)
时,传入的第一个参数为执行杜教筛的范围,传入的 std::vector
为空。
运行结束后会将两个传入的 std::vector
填充杜教筛结果。std::vector
长度为 ,填充方式为:第一个 std::vector
中下标为 的位置储存 的值,第二个 std::vector
中下标为 的位置储存 的值。特别的,两个 std::vector
中下标为 的位置均为 。