A93899.Alice的石子合并

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

有一排从左到右的 nn 堆石子,初始依次编号为 1,2,,n1,2,\dots,n
每个原始ii 堆自带一对属性 (ai,bi)(a_i, b_i)(非负整数)。

你可以反复对相邻两堆进行合并,直到只剩下一堆。一次合并必须选择一对当前相邻的块 XX(在左)与 YY(在右),并指定哪一方是主动方

  • 右并左(右块主动):将右块 YY 并入左块 XX
    本次费用为 aYa_Y(主动方当前携带的 aa)。合并后,新块的属性完全继承被动方 XX 的属性。
  • 左并右(左块主动):将左块 XX 并入右块 YY
    本次费用为 bXb_X(主动方当前携带的 bb)。合并后,新块的属性完全继承被动方 YY 的属性。

请计算,将所有石子最终合并成一堆的最小总代价

输入格式

  • 第一行一个整数 nn
  • 第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n
  • 第三行 nn 个整数 b1,b2,,bnb_1,b_2,\dots,b_n

输出格式

输出一个整数,为最小总代价。

输入输出样例

  • 输入#1

    5
    5 2 6 3 4
    9 4 8 1 2

    输出#1

    13

说明/提示

数据范围

测试点 nn 范围 ai,bia_i,b_i 范围
121\sim 2 2n<202\le n<20 0ai,bi10120\le a_i,b_i\le 10^{12}
363\sim 6 20n<50020\le n<500 0ai,bi10120\le a_i,b_i\le 10^{12}
7207\sim 20 500n2×105500\le n\le 2\times 10^{5} 0ai,bi10120\le a_i,b_i\le 10^{12}

样例解释

合并过程

第 1 次:右并左

  • 操作:主动 22 并到 被动 11
  • 费用a2=2a_2=2
  • 继承:保留锚点 11 的属性
  • 新状态
    [1..2]@1(a=5,b=9) | [3..3]@3(a=6,b=8) | [4..4]@4(a=3,b=1) | [5..5]@5(a=4,b=2)

第 2 次:右并左

  • 操作:主动 33 并到 被动 11
  • 费用a3=6a_3=6
  • 继承:保留锚点 11 的属性
  • 新状态
    [1..3]@1(a=5,b=9) | [4..4]@4(a=3,b=1) | [5..5]@5(a=4,b=2)

第 3 次:左并右

  • 操作:主动 44 并到 被动 55
  • 费用b4=1b_4=1
  • 继承:保留锚点 55 的属性
  • 新状态
    [1..3]@1(a=5,b=9) | [4..5]@5(a=4,b=2)

第 4 次:右并左

  • 操作:主动 55 并到 被动 11
  • 费用a5=4a_5=4
  • 继承:保留锚点 11 的属性
  • 新状态
    [1..5]@1(a=5,b=9)(完成)
首页