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號星球去。顯然,飛船駛過一條航道是需要時間...