3 条题解
-
0
-
对于 的情况,只有当 时,表达式值为 ,否则为 ,所以和为 。
-
对于 的情况,通过分析二进制位的性质,推导出通项公式为 。
AC code:
#include <bits/stdc++.h> using namespace std; const int MOD = 998244353; #define ll long long ll qpow(ll a, ll b, ll mod) { ll res = 1; while (b) { if (b & 1) res = res * a % mod; a = a * a % mod, b >>= 1; } return res; } int main() { int T; cin >> T; while (T--) { ll n, k; cin >> n >> k; if (k == 0) { cout << (qpow(2, n, MOD) - 1 + MOD) % MOD << endl; } else { cout << ((((n % MOD) + 1) % MOD * qpow(2, n, MOD) % MOD) - (n % MOD) - 1 + MOD) % MOD << endl; } } return 0; } -
信息
- ID
- 247
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 4
- 标签
- 递交数
- 7
- 已通过
- 5
- 上传者