QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#350561 | #8339. Rooted Tree | luanmenglei# | AC ✓ | 115ms | 3680kb | C++17 | 1.4kb | 2024-03-10 20:14:32 | 2024-03-10 20:14:32 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
bool stB;
namespace SOL {
void debug(const char *msg, ...) {
#ifdef CLESIP
va_list arg;
static char pbString[512];
va_start(arg,msg);
vsprintf(pbString,msg,arg);
cerr << "[DEBUG] " << pbString << "\n";
va_end(arg);
#endif
}
using i64 = long long;
using i128 = __int128_t;
template <typename T, typename L> bool chkmax(T &x, L y) { if (x < y) return x = y, true; return false; }
template <typename T, typename L> bool chkmin(T &x, L y) { if (y < x) return x = y, true; return false; }
const i64 P = 1e9 + 9;
i64 qpow(i64 a, i64 b) {
i64 ret = 1;
for (; b; b >>= 1) {
if (b & 1)
ret = ret * a % P;
a = a * a % P;
}
return ret;
}
void ___solve() {
i64 n, m; cin >> m >> n;
i64 top = 0, sum = 0, bot = 1, av = 1;
for (int i = 1; i <= n; i ++) {
i64 cur = (sum + bot * av % P) % P * m % P;
sum = (sum * av % P - sum + cur + P) % P;
top = (top * av % P + cur) % P;
bot = av * bot % P;
av = av + m - 1;
}
// debug("top: %lld bot: %lld", top, bot);
cout << top * qpow(bot, P - 2) % P << "\n";
}
}
bool edB;
signed main() {
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
SOL::___solve();
#ifdef CLESIP
// cerr << "Memory: " << (&stB - &edB) / 1024.0 / 1024.0 << "MB\n";
// cerr << "Time: " << 1.0 * clock() / CLOCKS_PER_SEC << "s\n";
#endif
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3676kb
input:
6 2
output:
18
result:
ok 1 number(s): "18"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3672kb
input:
2 6
output:
600000038
result:
ok 1 number(s): "600000038"
Test #3:
score: 0
Accepted
time: 4ms
memory: 3608kb
input:
83 613210
output:
424200026
result:
ok 1 number(s): "424200026"
Test #4:
score: 0
Accepted
time: 74ms
memory: 3572kb
input:
48 6713156
output:
198541581
result:
ok 1 number(s): "198541581"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3624kb
input:
1 111
output:
6216
result:
ok 1 number(s): "6216"
Test #6:
score: 0
Accepted
time: 77ms
memory: 3640kb
input:
28 7304152
output:
457266679
result:
ok 1 number(s): "457266679"
Test #7:
score: 0
Accepted
time: 47ms
memory: 3680kb
input:
38 4101162
output:
232117382
result:
ok 1 number(s): "232117382"
Test #8:
score: 0
Accepted
time: 114ms
memory: 3680kb
input:
51 9921154
output:
340670552
result:
ok 1 number(s): "340670552"
Test #9:
score: 0
Accepted
time: 21ms
memory: 3628kb
input:
79 1801157
output:
620550406
result:
ok 1 number(s): "620550406"
Test #10:
score: 0
Accepted
time: 59ms
memory: 3612kb
input:
22 5417157
output:
457449071
result:
ok 1 number(s): "457449071"
Test #11:
score: 0
Accepted
time: 34ms
memory: 3652kb
input:
25 3210162
output:
36368303
result:
ok 1 number(s): "36368303"
Test #12:
score: 0
Accepted
time: 34ms
memory: 3616kb
input:
67 2919160
output:
935195555
result:
ok 1 number(s): "935195555"
Test #13:
score: 0
Accepted
time: 99ms
memory: 3568kb
input:
77 8613163
output:
482832472
result:
ok 1 number(s): "482832472"
Test #14:
score: 0
Accepted
time: 115ms
memory: 3564kb
input:
90 10000000
output:
275581651
result:
ok 1 number(s): "275581651"
Test #15:
score: 0
Accepted
time: 115ms
memory: 3612kb
input:
99 9999999
output:
126087169
result:
ok 1 number(s): "126087169"
Test #16:
score: 0
Accepted
time: 115ms
memory: 3616kb
input:
100 10000000
output:
451590067
result:
ok 1 number(s): "451590067"
Extra Test:
score: 0
Extra Test Passed