T1:数组
将序列求前缀和,题意转化为对于位置$i$和$j$,知足$i<j$,$a_i<a_j$而且$b_i<b_j$,最大化$j-i+1$的值。spa
典型的三维偏需,能够CDQ作。排序
更好的作法是按一维排序,而后用数状数组维护。it
时间复杂度$O(nlogn)$。im
T2:集合
每次能够选择一个根,将左右子树接上,能够区间DP。时间
$dp[i][j]=\min \limit_{k=l}^r(dp[i][k-1]+dp[k+1][j])+sum(i,j)$。枚举
对于每一棵树,在其左侧添加节点,决策点不会右移,因此有决策单调性。
在$dp[i][j-1]$和$dp[i+1][j]$的决策点之间枚举$k$便可。
时间复杂度$O(n^2)$。
T3:
设$dp[i]$为由$i$到达终点的指望步数,$S$为$i$的出边集合,$a[i][j]$为临接,矩阵则:
$dp[i]=\sum \limits_{j \in S}\frac{a[i][j]}{out[i]}dp[j]+1$。
特别的$dp[T]=0$。
能够作$n$次消元。
然而每次仅有一行的方程不一样,能够分治消元,每次消除一半的方程。
因为每次消元的复杂度是$O(n^2(r-l))$,因此总复杂度为$O(n^3)$。