given an array consists of $$$n$$$ integers and an integer $$$p$$$, find number of pair($$$i,j$$$):
so that $$$i<j$$$ and $$$(a[i]*a[j])$$$ $$$mod$$$ $$$p$$$ $$$=$$$ $$$(a[i]+a[j])$$$ $$$mod$$$ $$$p$$$
$$$n<=10^5$$$
$$$1<p<=10^9$$$
# | User | Rating |
---|---|---|
1 | jiangly | 3976 |
2 | tourist | 3815 |
3 | jqdai0815 | 3682 |
4 | ksun48 | 3614 |
5 | orzdevinwang | 3526 |
6 | ecnerwala | 3514 |
7 | Benq | 3482 |
8 | hos.lyric | 3382 |
9 | gamegame | 3374 |
10 | heuristica | 3357 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | -is-this-fft- | 165 |
3 | Um_nik | 161 |
3 | atcoder_official | 161 |
5 | djm03178 | 157 |
6 | Dominater069 | 156 |
7 | adamant | 154 |
8 | luogu_official | 152 |
9 | awoo | 151 |
10 | TheScrasse | 147 |
given an array consists of $$$n$$$ integers and an integer $$$p$$$, find number of pair($$$i,j$$$):
so that $$$i<j$$$ and $$$(a[i]*a[j])$$$ $$$mod$$$ $$$p$$$ $$$=$$$ $$$(a[i]+a[j])$$$ $$$mod$$$ $$$p$$$
$$$n<=10^5$$$
$$$1<p<=10^9$$$
Name |
---|
Im not sure if this really works, but this is what I thought: rearranging the expression, we have $$$a_i \cdot a_j - (a_i+a_j) \equiv 0 \mod{p}$$$, which is equivalent to $$$(a_i-1)(a_j-1) \equiv 1 \mod{p}.$$$ This implies that $$$a_i \equiv a_j \equiv 0$$$ or $$$2 \mod{p}$$$. Then, let $$$x$$$ be the number of $$$a_k$$$ such that $$$a_k \equiv 0 \mod{p}$$$ and $$$y$$$ the number of $$$a_l$$$ such that $$$a_l \equiv 2 \mod{p}$$$. Answer is $$${x \choose 2} + {y \choose 2}$$$.
actually, this is not correct. You can pair every $$$a_i$$$ with any $$$a_j \equiv (a_i-1)^{-1}+1 \mod{p}$$$.
please give the problem link
http://online.vku.udn.vn/problem/tongtich
you can translate it into english