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统计答案即可。

posted @ 2021-04-05 14:40  zlc0405  阅读(45)  评论(0编辑  收藏  举报