EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

P10197 [USACO24FEB] Minimum Sum of Maximums P

题目描述

Bessie 有一行 N2N300)块瓷砖,依次具有丑陋度 a1,a2,,aN1ai106)。其中 K0Kmin(N,6))块瓷砖卡住了;具体地,索引为 x1,,xK1x1<x2<<xKN)的瓷砖。

Bessie 想要最小化瓷砖的总丑陋度,其中总丑陋度定义为每对相邻瓷砖的最大丑陋度之和;即 i=1N1max(ai,ai+1)。她可以任意次执行以下操作:选择两块均未卡住的瓷砖,并交换它们。

求 Bessie 以最优方案执行操作可以达到的最小总丑陋度。

输入格式

输入的第一行包含 NK

第二行包含 a1,,aN

第三行包含 K 个索引 x1,,xK

输出格式

输出最小可能的总丑陋度。

输入输出样例 #1

输入 #1

1
2
3 0
1 100 10

输出 #1

1
110

输入输出样例 #2

输入 #2

1
2
3
3 1
1 100 10
2

输出 #2

1
200

输入输出样例 #3

输入 #3

1
2
3
4 2
1 3 2 4
2 3

输出 #3

1
9

说明/提示

样例解释 1

Bessie 可以交换第二块和第三块瓷砖,使得 a=[1,10,100],达到总丑陋度 max(1,10)+max(10,100)=110。或者,她也可以交换第一块和第二块瓷砖,使得 a=[100,1,10],同样达到总丑陋度 max(100,1)+max(1,10)=110

样例解释 2

瓷砖的初始总丑陋度为 max(1,100)+max(100,10)=200。Bessie 只允许交换第一块和第三块瓷砖,这并不能使她能够减少总丑陋度。

测试点性质

  • 测试点 5K=0
  • 测试点 67K=1
  • 测试点 812N50
  • 测试点 1324:没有额外限制。

题解

性质分析

考虑到未固定的数可以任意交换,本题可转化为:K 个数被固定在数列中,将剩余 NK 个数放到其余位置,使得总丑陋值最小。

丑陋值可表示为:

i=1n1max(ai,ai+1)=i=1n112(ai+ai+1+\absaiai+1)

其中 i=1n112(ai+ai+1) 是固定值,因此题目目标是最小化 i=1n1\absaiai+1。为了便于处理,我们在数列中加入 a0=an+1=inf

K 个被固定的数将原序列分为至多 K+1 段,我们分别处理每一段 [aL,aR],其中 L<RaL,aR 已经被固定。

不妨设 aLaR

性质一:aL+1,,aR1 序列应该单增,这样使得 [aL,aR] 段的总贡献最小(如果 aL>aR,这里应该是单减)。

可以用调整法证明这一结论。

在性质一的安排下,[aL,aR] 的总贡献为 \absaLaL1+\absaRaR1+aR1aL+1。该贡献仅与 aL+1,aR1 有关,与其他位置的值无关。

TODO