GSS1:給定一個序列,要求求出一個區(qū)間[l,r]中最大的子段和.維護一棵線段樹,記錄每個子區(qū)間的總和,從左邊連續(xù)的最大和,右邊連續(xù)的最大和,區(qū)間的最大子段和.查詢的時候要注意轉(zhuǎn)移細節(jié).
COURIER:狀態(tài)壓縮的動態(tài)規(guī)劃.f[S][Bx]表示人已經(jīng)完成了S集合中的任務(wù),當前在任務(wù)x的結(jié)束位置Bx時的mindist.
f[S|(1<<y)][By]=min{f[S][Bx]+dist(Bx,Ay)+dist(Ay+By)} 最后掃描答案時注意還要回到源點