M - Sum is Integer 解説
by
toam
各 \(i\) について \(\dfrac{p_i}{q_i}<1\) とし,\(C_i\) を \(\displaystyle \sum_{j=1}^i \dfrac{p_j}{q_j}\) を \(\mathrm{mod}\ P\) で表示したときの整数値とします(\(P\) は適当な素数).\(\displaystyle \sum_{i=L}^R \dfrac{p_i}{q_i}\) が整数となるとき,\(0\leq C_R-C_L\lt N\) が高確率で期待できます.(例えば \(P=998244353\) のとき,\(1/2\equiv 499122177,3/2\equiv 499122178\) となります.)また, \(0\leq C_R-C_L\lt N\) が成り立つとき,\(\displaystyle \sum_{i=L}^R \dfrac{p_i}{q_i}\) が整数であることもそこそこ期待できます.よって,\(P\) を非常に大きくとることによって,各 \(i\) に対して \(C_i-N\leq C_j\leq C_i\) となる \(j\ (j<i)\) を数えることにより,この問題を AC することができます.(\(P\) を 50 桁ほどにすることによって AC できました.)
投稿日時:
最終更新:
