CF1188B.Count Pairsl(数学)
题意:
给出一个长度为n的数组a,两个整数p和k。
询问有多少数对\((x,y)(1 \leq x < y \leq n)\)使得\((a_x^2+a_y^2)(a_x+a_y)\)对p取模的结果为k。
保证p是质数。
题解:
\((a_x^2+a_y^2)(a_x+a_y)\%p=k\)
\((a_x^2+a_y^2)(a_x+a_y)(a_x-a_y)\%p=(a_x-a_y)k\%p\)
\((a_x^2+a_y^2)(a_x^2-a_y^2)\%p=(a_x-a_y)k\%p\)
\((a_x^4-a_y^4)\%p=(a_x-a_y)k\%p\)
\((a_x^4-ka_x)\%p=(a_y^4-ka_y)\%p\)
对每个a_x统计答案即可。