日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bzoj 2654 bzoj 3675 总结

發(fā)布時間:2025/3/15 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj 2654 bzoj 3675 总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

bzoj 2654 && bzoj 3675 總結(jié)

手動博客搬家: 本文發(fā)表于20180929 15:18:55, 原地址https://blog.csdn.net/suncongbo/article/details/82897992

最近做到了兩道(我感覺)思路比較神的題,總結(jié)一下。
注:以下兩道題我都沒有用文中所述方法A過。

1. bzoj 2654

首先如果直接求MST,不能保證有恰好\(K\)條白邊。
而貪心顯然是錯的。
可以這樣想:如果題目里要求是恰好有\(0\)條白邊,我們可以讓所有白邊的代價增加\(+\inf\). 如果要求白邊最多,可以讓白邊代價增加\(-\inf\). 那既然這樣的話,MST中白邊的數(shù)量一定隨著給白邊增加的權(quán)值單調(diào)。因此可以二分,直到有\(K\)條白邊即可。最后答案減去\(K\times 增加的權(quán)值\).
好神啊www %%%cls
這道題非常重要,希望自己永遠(yuǎn)也不要忘記這道題。

2. bzoj 3675

正解是斜率優(yōu)化dp. 但這不是本文的重點(diǎn)。
如果只是斜率優(yōu)化不搞點(diǎn)有意思的新東西也太無聊了吧!23333
從網(wǎng)上看到的神做法:
首先\(dp\)還是要的:假設(shè)\(dp[i]\)表示序列前\(i\)個數(shù)分割成若干段的最大得分,則枚舉最外層的一次劃分\(dp[i]=\max^{i}_{j=1} (s[i]-s[j])s[j]\), \(s[j]\)為權(quán)值的前綴和。但是這樣無法保證最優(yōu)解能分成\(K\)段。行吧那我們假設(shè)\(dp\)方程長成了這樣: \(dp[i]=\max^{i}_{j=1} (s[i]-s[j])s[j]+C\), \(C\)為常數(shù)。顯然\(C \rightarrow +\inf\)\(dp\)會自然而然地分成\(n\)段,反之\(C\rightarrow -\inf\)時會分成1段。因此可以二分\(C\), 當(dāng)分的段數(shù)達(dá)到\(K\)時,就是答案。最后減去\(C\times K\).
這樣做應(yīng)該是過不了的,但是至少能為我們提供一種思路。
如果在這個算法的基礎(chǔ)上加上斜率優(yōu)化應(yīng)該就差不多能過了,時間復(fù)雜度\(O(n\log W)\), \(W\)為值域。這樣\(K\)如果也是\(1e5\)應(yīng)該也能過了。
(其實(shí)我是通過這題才看懂的上一題23333)

發(fā)表于 2019-01-22 19:47 suncongbo 閱讀(...) 評論(...) 編輯 收藏 刷新評論刷新頁面返回頂部

總結(jié)

以上是生活随笔為你收集整理的bzoj 2654 bzoj 3675 总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。