t1:
將序列求字首和,題意轉化為對於位置$i$和$j$,滿足$i
典型的三維偏需,可以cdq做。
更好的做法是按一維排序,然後用數狀陣列維護。
時間複雜度$o(nlogn)$。
t2:每次可以選擇乙個根,將左右子樹接上,可以區間dp。
$dp[i][j]=\min \limit_^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_\fracdp[j]+1$。
特別的$dp[t]=0$。
可以做$n$次消元。
然而每次僅有一行的方程不同,可以分治消元,每次消除一半的方程。
由於每次消元的複雜度是$o(n^2(r-l))$,所以總複雜度為$o(n^3)$。
csp s模擬測試93
自閉場。t1 想到 cdq 因為複雜度少看見乙個 0 打了半年還用了 sort 直接廢掉,t2 t3 直接自閉暴力分都沒有。考場太慌了,心態不好。8002 07 34 003 12 11 0 03 11 53 8003 12 11 沒有前途就是垃圾趁早滾回實驗二安度晚年吧。cdq 不接受反駁。最簡單...
省選模擬93 題解
a.a 肯定是用子串行自動機。然後暴力就是預處理出 dag 上的路徑數然後強行跑。優化的方法類似重鏈剖分,設 f i 表示節點 i 之後的路徑數。f i 等於每個轉移邊的加和。考慮求出每個節點的重轉移。當 f i,重轉移為每個轉移中 f 值最大的。否則重轉移為順序列舉下使得 f i inf 的轉移邊...
93 漢諾塔(三) 模擬
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 在印度,有這麼乙個古老的傳說 在世界中心貝拿勒斯 在印度北部 的聖廟裡,一塊黃銅板上插著三根寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64片金片,這就是所謂的漢諾塔。不論白天黑夜,總有乙個...