考场上怕是石乐志. 状态设计还是很自然的,求什么设什么. f[i]表示前i个人安排好,电梯最早回到0层的时间 转移的话,枚举上一次最后一个带走的是谁 f[i]=min(max(f[j],t[i])+2*max(ak,j<k<=i)) 线段树优化 后面的区间最大值,可以用单调栈记录,弹栈的时候,在线段树上区间赋值 t,f都是单调不降的,所以可以边找答案边二分,一半用t[i]和ak更新.一半用f[j]和ak更新. 记录区间最小ak,最小f[j]+aj,最小f[j],最大f[j](便于二分) #in…