How to calculate ?
Constraints are 1 ≤ N, M ≤ 2 * 109, 1 ≤ x ≤ 50 and time limit is 1 second.
Please can someone help?
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
How to calculate ?
Constraints are 1 ≤ N, M ≤ 2 * 109, 1 ≤ x ≤ 50 and time limit is 1 second.
Please can someone help?
Name |
---|
Auto comment: topic has been updated by Mamedov (previous revision, new revision, compare).
An O(x^2) solution is described here: https://www.hackerrank.com/contests/infinitum-mar14/challenges/summing-the-k-n-r-series
In our case modulo M is not a prime, it can be any number, but by this way we will need to calculate modular inverse.
It can be solved using "divide and conquer" approach.
Assume you try to calculate
In the last sum
It's clear that it's need to calculate sums
for all t from 0 to x to calculate the above sum.
Than use "divide and conquer" approach to calculate all this sums for N, first calculate this sums for N/2 and than use the above formulas to calculate sums for N.
Thanks a lot sokian. I got this idea.
Specifying the time constraint would be nice. :)
I think sokian's approach will be O(x2log(N))
Auto comment: topic has been updated by Mamedov (previous revision, new revision, compare).
In what judge is this problem available? i would like to test my code.
https://www.e-olymp.com/en/problems/1096
Thanks