MojaCoder will discontinue its service and shut down the judging system on December 31, 2026.
解説
包除原理を考えます
答えは
- XからYのいずれかの値をもつ長さNの数列の通りをP通り
- X−1からYのいずれかの値をもつ長さNの数列をQ通り
- XからY−1のいずれかの値をもつ長さNの数列R通り
- X−1からY−1のいずれかの値をもつ長さNの数列S通り
とするとP−(Q+R)+Sとなります。
冪乗はNの制約から繰り返し2乗をすると高速に求まリます。
実装例 (Python)