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 | 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 |
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