Sequence of points

Click here to CF24C.
感觉很多的题解要么是感性分析法,要么证明过于复杂,感觉挺好证的。
认为有的题就是感性感觉加上理性证明。
直接上:
我们设 \(M_0\) 坐标为 \((a,b)\)\(A_{i\bmod n}\) 坐标为 \((\lambda_{i\bmod n},w_{i\bmod n})\)
根据两点间距离公式,如果 \((x_1,y_1)\)\((x_2,y_2)\) 关于 \((m,n)\) 对称,那么 \(x_1+x_2=2\times m\)\(y_1+y_2=2\times n\)
也就是:\((x_2,y_2)=(2\times m-x_1,2\times n-y_1)\)
那么假设 \((x_2,y_2)\)\((x_3,y_3)\) 关于 \((c,d)\) 对称,则:
\((x_3,y_3)=(2\times c-2\times m+x_1,2\times d-2\times n+y_1)\)
我们将这个结论带入题目,得(假设对称了 \(t\) 次):

\[M_t=((-1)^t\times a+2\times\sum_{i=0}^{t-1}(-1)^{t-i+1}\times\lambda_i,(-1)^t\times b+2\times\sum_{i=0}^{t-1}(-1)^{t-i+1}\times w_i) \]

显然 \(n\) 奇偶性不同时上述表达式不同,但是我们观察题目发现 \(n\) 是奇数,所以对称 \(n\) 次之后的坐标可以简化成:

\[M_n=(2\times\sum_{i=0}^{n-1}(-1)^{n-i+1}\times\lambda_i-a,2\times\sum_{i=0}^{n-1}(-1)^{n-i+1}\times w_i-b) \]

这个式子看起来并没有什么帮助,这个时候感性分析法就来了,根据数学直觉,我们将 \(M_n\) 再对称 \(n\) 次可能会有不一样的效果,试一试:

\[M_{2\times n}=((-1)^n\times x_{M_n}+2\times\sum_{i=n}^{2\times n-1}(-1)^{2\times n-i+1}\times\lambda_{i\bmod n},(-1)^n\times y_{M_n}+2\times\sum_{i=n}^{2\times n-1}(-1)^{2\times n-i+1}\times w_{i\bmod n}) \]

\(n\) 是奇数,化简并将 \(M_n\) 的坐标带入得:

\[M_{2\times n}=(a,b) \]

好!所以我们得出结论:对称 \(2\times n\) 次后相当于没有对称(回到原位),所以我们将总次数对 \(2\times n\) 取模,数据范围缩小到 \(10^5\) 级别,之后两点间距离公式暴力算就可以了。
别忘了对 \(n\) 取模。
代码:

t %= n << 1 ;
f (i ,0 ,t - 1 ,1) {
	a = (x[i % n] << 1) - a ; 
	b = (y[i % n] << 1) - b ;
}
posted @ 2024-07-26 20:32  tomzu  阅读(23)  评论(0)    收藏  举报