Shortcuts

发布时间 2023-08-20 15:42:35作者: wscqwq

Shortcuts

关键在于要根据 \(2\) 的幂次增长的速度的性质。

发现如果不跳过任何一个点,那么最坏情况下两两是 \((0,0),(10^4,10^4)\) 循环的,结果大概是 \(n\times \sqrt2\times10^4=\sqrt210^8\),在 \(10^8\) 的量级。

所以最多 \(28\) 次(\(2^{28}>\sqrt 210^8\),实际上是 \(27\) 次极限,就算 \(28\))忽略操作。

我们直接设 \(f[i][j]\) 表示最后一个检查点为 \(i\),已经跳过了 \(j\) 个。

状态转移就是考虑最后一次跳过了几个点,然后从上一个未跳过的点计算欧几里得距离过来。

注意 \(1,n\) 不能跳过(数据会出现只有两个点,会错)。

AC