专栏文章
【[ABC414E] Count A%B=C】题解
AT_abc414_e题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miowvy05
- 此快照首次捕获于
- 2025/12/03 02:28 3 个月前
- 此快照最后确认于
- 2025/12/03 02:28 3 个月前
思路
先分析条件。
一个 和一个 对应一个 。
限定了 的范围,以及 。- 各不相同
限定了 。
考虑一个 对答案的贡献,即 范围内不是 的倍数的整数个数,即 。
则答案为:
注意事项
- 十年 OI 一场空,不开 __ 见祖宗;
- 模意义下的除法用逆元。
AC Code
CPP#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = 998244353, I = 499122177;
// I 为 2 模 998244353 意义下的逆元。
ll n, ans;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
ll l = 1, r = 0;
for(; l <= n; l = r + 1){
r = n / (n / l);
ans -= ((r - l + 1) % MOD) * ((n / l) % MOD) % MOD;
ans = (ans % MOD + MOD) % MOD;
} // 数论分块
n %= MOD;
ans += (((n * n % MOD) + n) % MOD) * I % MOD;
ans %= MOD;
cout << ans;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...