動態規劃最佳化

來源:互聯網
上載者:User

標籤:規劃   目的   動態規劃   size   合數   設計   複雜度   維護   樹狀   

bzoj2064 分裂

存在通解:把原創組合都合并,再一一拆開。

如果可以劃分一些集合,使得原創組合和目的地組合對應的小集合相等,那麼可以節省操作次數。

ans=(n1-1)+(n2-1)-2*(x-1) x為劃分的相同集合數。

n<=10,狀壓

另外,其實原創組合一個x,就是往右x步,目的地組合一個y,就是往左y步。

那麼,兩個個集合對應和相等,就是走出去再回來、

f[S1][S2]表示,原創組合選擇S1的元素,目的地組合選擇S2元素,最多可以湊成幾個和相等的集合。也即能走多少個圈。

預先處理集合對應的和。

轉移枚舉選擇哪個元素(原始或者目標)2n複雜度。

枚舉狀態2^2n

所以,O(20*2^20)

 

bzoj3173[TJOI2013]最長上升子序列

題目的特點是,從1~N從小到大加入。

當然可以平衡樹動態維護,但是不夠優美。

回憶LIS的狀態設計,f[]以i結尾LIS

那麼,對於一個x,比x大的y一定不會出現在f[x]的方案中。

所以,我們可以把最終的序列求出來,然後求f[1~n]

然後,逆序輸出,ansi,就是對權值為1~i的位置求f[]的最大值。

就是一個權值的首碼和。

 

至於求最終的序列,可以平衡樹。但是可以倒序,用樹狀數組即可。

 

動態規劃最佳化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.