AT_abc351_e [ABC351E] Jump Distance Sum
题目描述
在坐标平面上有 $N$ 个点 $P_1,P_2,\ldots,P_N$,其中点 $P_i$ 的坐标为 $(X_i,Y_i)$。
对于两个点 $A,B$,定义它们的距离 $\text{dist}(A,B)$ 如下:
> 一开始,兔子在点 $A$。
> 兔子如果在 $(x,y)$,则可以通过一次跳跃移动到 $(x+1,y+1)$、$(x+1,y-1)$、$(x-1,y+1)$ 或 $(x-1,y-1)$ 中的任意一个点。
> 从点 $A$ 移动到点 $B$ 所需的最少跳跃次数,定义为 $\text{dist}(A,B)$。
> 但是,如果无论跳多少次都无法从 $A$ 到达 $B$,则定义 $\text{dist}(A,B)=0$。
请计算 $\displaystyle\sum_{i=1}^{N-1}\displaystyle\sum_{j=i+1}^N\ \text{dist}(P_i,P_j)$ 的值。
输入格式
输入以如下格式从标准输入读入:
> $N$
> $X_1$ $Y_1$
> $X_2$ $Y_2$
> $\vdots$
> $X_N$ $Y_N$
输出格式
请输出 $\displaystyle\sum_{i=1}^{N-1}\displaystyle\sum_{j=i+1}^N\ \text{dist}(P_i,P_j)$ 的值(整数)。
说明/提示
## 限制条件
- $2\leq N\leq 2\times 10^5$
- $0\leq X_i,Y_i\leq 10^8$
- 若 $i\neq j$,则 $(X_i,Y_i)\neq (X_j,Y_j)$
- 所有输入均为整数
## 样例解释 1
$P_1,P_2,P_3$ 的坐标分别为 $(0,0)$、$(1,3)$、$(5,6)$。
从 $P_1$ 到 $P_2$,兔子可以按 $(0,0)\to (1,1)\to (0,2)\to (1,3)$ 跳跃,共需 $3$ 次,且无法用 $2$ 次或更少跳到,因此 $\text{dist}(P_1,P_2)=3$。
从 $P_1$ 到 $P_3$ 以及从 $P_2$ 到 $P_3$,兔子无法到达,因此 $\text{dist}(P_1,P_3)=\text{dist}(P_2,P_3)=0$。
所以,答案为 $\displaystyle\sum_{i=1}^{2}\displaystyle\sum_{j=i+1}^3\text{dist}(P_i,P_j)=\text{dist}(P_1,P_2)+\text{dist}(P_1,P_3)+\text{dist}(P_2,P_3)=3+0+0=3$。
由 ChatGPT 4.1 翻译