口胡一下T4的多项式做法。
就是在状态中记录两个值:
1.第一个选的设施的位置
2.因为前面设施的选择,导致从某一个设施往后都不能选。
状态是F[i][j][l]表示前i个设施,第一个选的设施的位置是j,因为前面设施的选择,导致从倒数第l个设施往后都不能选,最大的目标值。
转移的话,对于往前k个,我们暴力转移(因为我们不知道能不能选),对于更前面的,维护一个前缀最小值(肯定可以选)。状态是O(n*k*k)的,转移是O(k)的,总复杂度是O(n*k^3)的,1000*50*50*50,因为有很多状态无效,所以实际上可过。
原文地址:https://www.cnblogs.com/thedreammaker/p/11627398.html