AT_abc472_f [ABC472F] Centroid of a Slice
题目描述
在 $xy$ 平面上有一个凸 $N$ 边形 $P$。$P$ 的顶点按照逆时针方向编号为 $1,2,\dots,N$,第 $i$ 个顶点的坐标为 $(x_i, y_i)$。
你需要回答 $Q$ 个问题。
对于第 $j$ 个问题,会给出两个不同的顶点 $u_j$ 和 $v_j$。这里,$u_j$ 和 $v_j$ 在 $P$ 的边界上不是相邻的顶点。
连接顶点 $u_j$ 和 $v_j$ 的线段会将 $P$ 分成两个多边形;记 $P'$ 为从顶点 $u_j$ 指向顶点 $v_j$ 的有向直线右侧的那个多边形。请你求出 $P'$ 的几何中心坐标(即把多边形内部看作均匀薄板时的质心坐标)。
输入格式
输入从标准输入读入,格式如下:
> $N$ $Q$
> $x_1$ $y_1$
> $x_2$ $y_2$
> $\vdots$
> $x_N$ $y_N$
> $u_1$ $v_1$
> $u_2$ $v_2$
> $\vdots$
> $u_Q$ $v_Q$
输出格式
输出 $Q$ 行。第 $j$ 行,设答案为坐标 $(p_j, q_j)$,请按 $p_j$ 和 $q_j$ 的顺序输出,两个数之间用一个空格隔开。
对于每个 $p_j$ 和 $q_j$,其与真值的绝对误差或相对误差不超过 $10^{-6}$ 时,答案即被认为是正确的。
说明/提示
### 样例解释 1
对于第一个问题,$P'$ 为顶点 $(1,3),(-3,2),(-1,-2)$ 构成的三角形,其几何中心为 $(-1,1)$。
对于第二个问题,$P'$ 为顶点 $(2,-1),(4,1),(1,3),(-3,2)$ 构成的四边形,其几何中心为 $\left(\frac{70}{81},\frac{98}{81}\right)$。
### 数据范围
- $4 \leq N \leq 3 \times 10^4$
- $1 \leq Q \leq 2 \times 10^5$
- $|x_i|, |y_i| \leq 5 \times 10^5$
- $(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)$ 构成一个逆时针有序的凸多边形。
- $P$ 的每个内角都小于 $180$ 度。
- $1 \leq u_j, v_j \leq N$
- $u_j \neq v_j$
- $u_j$ 和 $v_j$ 在 $P$ 的边界上不相邻。
- 所有输入数值均为整数。
由 ChatGPT 5 翻译