CF611G New Year and Cake
题目描述
Limak 是一只小北极熊。根据一些古老的传统,他的熊家族准备了新年蛋糕。而 Limak 非常喜欢蛋糕。
如你所知,新年蛋糕的形状是一个严格凸多边形,有 $n$ 个顶点。
父母不允许 Limak 吃超过整个蛋糕一半的量,否则他会生病。经过一番思考,他们决定沿着 $n \cdot (n-3) / 2$ 条对角线中的一条把蛋糕切开。然后,Limak 会得到较小的那一块或者与另一块一样大的那一块。
Limak 明白这些规则,但如果另一块比他得到的这块大很多,Limak 就会不高兴。Limak 的失望值定义为两块之间面积的差的两倍。对于给定的数据范围,可以证明失望值一定是整数。
总共有 $n \cdot (n-3) / 2$ 种切分的情形。请考虑所有这些情形,并输出所有 Limak 失望值的总和,对 $10^9+7$ 取模。
输入格式
输入的第一行包含一个整数 $n$($4 \leq n \leq 500000$),表示多边形(蛋糕)的顶点数量。
接下来的 $n$ 行中,每行包含两个整数 $x_i$ 和 $y_i$($|x_i|, |y_i| \leq 10^9$),表示第 $i$ 个顶点的坐标。
保证所有的点均不同,多边形是严格凸多边形,所有顶点顺时针给出。
输出格式
输出所有切分情况下 Limak 失望值的总和,对 $10^9+7$ 取模。
说明/提示
在第一个样例中,各种切法得到的 Limak 的失望值分别为 $0, 18, 18, 24, 30$。
由 ChatGPT 5 翻译