题意:
给定一个序列 aaa 长度为 nnn,对于 i=1∼ni=1\sim ni=1∼n 求答案 f(i)f(i)f(i)。
定义 f(i)f(i)f(i):初始 cur=1cur=1cur=1,给 aia_iai 标记 111,之后重复 cur+1cur+1cur+1 并选一个与已标记数相邻的数标记 curcurcur。直到全部标记完。一个标记方案的重量 weight=∑ai⋅tagiweight=\sum a_i\cdot tag_iweight=∑ai⋅tagi,f(i)=minweightf(i)=\min weightf(i)=minweight。
网上找的题解说的不太清楚,只看懂了贪心比较平均数的部分,没看懂优化的部分。
附找到的两篇题解:
1
2