由於遼哥擁有強大的程式設計能力,他不費吹灰之力就改寫了那個遊戲。在遊戲開始前,他可以用炸彈消滅任意的碉堡,但是他不能通過這種方式來獲得分數。問題來了,在遊戲開始後,遼哥可以得到的最大分數是多少?
嗯,又是那種dp套貪心的題目了
先考慮如果知道破壞碉堡順序,我們考慮如何最優
顯然令f[i]表示一開始有i的能力的最優非常不方便轉移
我們考慮令f[i]表示破壞i個碉堡需要的最小能力值,f[0]=0
那麼,f[i]=f[i-1]+a[j](b[j]>=f[i-1]) o(n^2)暴力做即可,最後二分出最大的i滿足f[i]<=s
好的現在來考慮如何排序
考慮兩個狀態i,i+1
i和i+1不能交換的充分條件:b[i+1]i+1)
同時我們還有條件b[i]>=a[i+1]+σa[j] (j>i+1)
兩式相減得到:b[i+1]-b[i]
b[i+1]+a[i+1]
所以我們只需要按照a[i]+b[i]的順序排序即可
#include
#include
#include
using
namespace
std;
int n,m,f[1010];
struct p s[1010];
inline
bool c1(p a,p b)
int _18520() return0;}
int main()
Spree 2 3 0已經發布
簡要介紹 spree 2.3的最新更改已經加入對rails 4.1的支援,提供了更好的配置項的儲存,更好的針對多店鋪的支援,以及更好的遊客追蹤。spree 2.3的發布,有賴於總的97位貢獻者以及他們總的700多個的commit記錄。現在,我們非常興奮地宣布 spree 2.3發布了!現在,rail...
Spree 2 3 0已經發布
spree 2.3的最新更改已經加入對rails 4.1的支援,提供了更好的配置項的儲存,更好的針對多店鋪的支援,以及更好的遊客追蹤。spree 2.3的發布,有賴於總的97位貢獻者以及他們總的700多個的commit記錄。現在,我們非常興奮地宣布 spree 2.3發布了!現在,rails 4.1...
lenovo X230熱鍵功能
最近在優化x230,對於有偏執狂傾向的我,執著於啟動時間,在去掉啟動項的時候,忽然發現揚聲器按鈕和麥克風按鈕出現異常。遍搜渡娘無果,無奈之下重灌系統。最終發現幾個lenovo相互依賴的服務和程式 lenovo pm device 服務 這個是所有的基礎,包括lenovo hotkey client ...