AT_abc315_f.[ABC315F] Shortcuts

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在坐标平面上进行一场比赛,参赛者需要依次经过检查点 1,2,…,N1,2,\dots,N。
第 ii 个检查点的坐标为 (Xi,Yi)(X_i, Y_i),所有检查点的坐标均不相同。

除了检查点 11 和 NN 之外,其余检查点可以选择跳过不经过。
设未经过的检查点数量为 CC,将根据以下规则对参赛者进行惩罚:

  • 若 C>0C > 0,则惩罚为 2C−12^{C-1}。
  • 若 C=0C = 0,则惩罚为 00。

从检查点 11 到检查点 NN 的总移动距离(欧几里得距离)与惩罚之和记为 ss。
请你求出 ss 可能取得的最小值。

输入格式

输入以如下格式从标准输入读入:

NN
X1X_1 Y1Y_1
X2X_2 Y2Y_2
⋮\vdots
XNX_N YNY_N

输出格式

请输出答案。当你的输出与真值的绝对误差或相对误差不超过 10−510^{-5} 时,将被判定为正确。

输入输出样例

  • 输入#1

    6
    0 0
    1 1
    2 0
    0 1
    1 0
    2 1

    输出#1

    5.82842712474619009753
  • 输入#2

    10
    1 8
    3 7
    9 4
    4 9
    6 1
    7 5
    0 0
    1 3
    6 8
    6 4

    输出#2

    24.63441361516795872523
  • 输入#3

    10
    34 24
    47 60
    30 31
    12 97
    87 93
    64 46
    82 50
    14 7
    17 24
    3 78

    输出#3

    110.61238353245736230207

说明/提示

限制条件

  • 所有输入均为整数。
  • 2≤N≤1042 \leq N \leq 10^4。
  • 0≤Xi,Yi≤1040 \leq X_i, Y_i \leq 10^4。
  • 若 i≠ji \neq j,则 (Xi,Yi)≠(Xj,Yj)(X_i, Y_i) \neq (X_j, Y_j)。

样例解释 1

考虑经过检查点 1,2,5,61,2,5,6,跳过 3,43,4。

  • 从检查点 11 移动到 22,两点间距离为 2\sqrt{2}。
  • 从检查点 22 移动到 55,两点间距离为 11。
  • 从检查点 55 移动到 66,两点间距离为 2\sqrt{2}。
  • 跳过了 22 个检查点,此时惩罚为 22。

综上,s=3+22≈5.828427s = 3 + 2\sqrt{2} \approx 5.828427。无法取得比这个更小的 ss。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页