NOIP模擬 小C的陣列(二分答案 DP驗證)

2022-08-21 02:33:12 字數 557 閱讀 8190

qwq考完發現做法已經接近了。。。。。dp太差了(考場還想區間dp。。。藍瘦)

首先求最大值最小,方法很明顯就是二分,然後考慮check函式。

很明顯的一點,對於兩點i,j,如果不需要修改,那麼他們的計算結果一定小於等於二分值mid*(j-i),所以我們從最壞情況開始向前列舉。那麼最壞情況就是修改所有點,我們記錄dp[i]表示前i個全部修改,後i+1~n的點合法最小代價。然後從i+1向後列舉,如果列舉到乙個點滿足段首所述性質,那麼就修改兩個點之間的所有點。

最後看一下當前代價是否小於等於k即可

#includeusing namespace std;

typedef long long ll;

const ll inf=0x3f3f3f3f;

const ll maxn=2e3+10;

ll read()

ll n,k;

ll a[maxn],dp[maxn];

ll ans;

bool check(ll x)

cout

}

NOIp複習計畫 二分答案

bzoj 1614 usaco2007 jan telephone lines架設 線 二分答案,把小於k的設成0否則為1,然後spfa判斷。include using namespace std const int maxn 20005 int h maxn to maxn 1 nx maxn 1...

校內模擬 深邃(貪心)(二分答案)

簡要題意 一棵樹,有 k kk 個關鍵點,請你把樹劃分為若干聯通塊,使得每個聯通塊包含至少乙個關鍵點,最小化最大的聯通塊的大小。首先容易注意到可以二分答案。然後考慮怎麼判斷,進行dfs,每個點盡量貪心往下劃分。h vu hv u hvu 表示 u uu 為根的子樹,u uu 這個聯通塊還能多容吶的點...

NOIP2015運輸計畫(二分答案)

公元2044年,人類進入了宇宙紀元。l國有n個星球,還有n 1條雙向航道,每條航道建立在兩個星球之間,這n 1條航道連通了l國的所有星球。小p掌管一家物流公司,該公司有很多個運輸計畫,每個運輸計畫形如 有一艘物流飛船需要從ui號星球沿最快的宇航路徑飛行到vi號星球去。顯然,飛船駛過一條航道是需要時間...