【UOJ#246】套路(动态规划)
生活随笔
收集整理的這篇文章主要介紹了
【UOJ#246】套路(动态规划)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【UOJ#246】套路(動態規劃)
題面
UOJ
題解
假如答案的選擇的區間長度很小,我們可以做一個暴力\(dp\)計算\(s(l,r)\),即\(s(l,r)=min(s(l+1,r),s(l,r-1),abs(a_r-a_l))\)。
我們發現\(s(l,r)\le \frac{m}{r-l+1}\),那么當長度足夠大的時候\(s(l,r)\)的取值很小。
所以我們對于詢問分治處理,當長度小于\(\sqrt m\)時,直接\(dp\)計算貢獻。
否則,當長度大于\(\sqrt m\)時,枚舉\(s(l,r)\)的值,對于每個右端點計算其合法的最大左端點。
復雜度\(O(n\sqrt m)\)
轉載于:https://www.cnblogs.com/cjyyb/p/10283683.html
總結
以上是生活随笔為你收集整理的【UOJ#246】套路(动态规划)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java多线程_阻塞队列
- 下一篇: idea2020.03 lombok异常