常州大學組織了新生寒假訓練一共n天,每天訓練可以獲得的訓練效果是ei。但是如果連續訓練超過k天,萌新們會受不了而被勸退。
現在負責人想知道,如何安排能保證萌新不會被勸退並且能獲得最大的訓練效果。
第一行:兩個用空格隔開的整數:n和k,1≤n≤100000,1≤k≤n第二行到n+1行:第i+1行有乙個整數,表示第n天的訓練效果是ei,(0 <= ei <= 1,000,000,000)
第一行:單個整數,表示最大的能力之和示例1
5 2 1234 5
12
(除了第三天以外每天都在訓練,總訓練效果為1+2+4+5=12)
1≤n≤100,000****
#includeusingnamespace
std;
#define ll long long
const
int n = 1e5+11
;const ll inf = 0x3f3f3f3f3f3f3f3f
;int q[n],st,ed;//
q陣列中的元素滿足遞增規律,作為單調棧
ll dp[n],a[n];
intmain()
ll ans=inf;
for(int i=n-k;i<=n;i++) ans=min(ans,dp[i]);
printf(
"%lld\n
",sum-ans);
}return0;
}
2019牛客多校訓練(五)
求出類似斐波那契數列的第 n 項 n leq 10 我想著尤拉降冪。其實尤拉降冪並不適用於矩陣的運算 隊友看了題之後立馬想到十進位制的矩陣快速冪,太強了 和普通的矩陣不同的是,這個每次乘十前進,但這不是問題 對矩陣快速冪的時間複雜度認識得不深,潛意識以為 n 是乙個無窮大的數 include def...
2019牛客多校訓練(四)
給出一顆樹 讓所有染色點到某個點的最大距離最小 結果為最遠點對的距離除二向上取整 假設有最遠點對的路徑上的中間點 如果有某個點它到這個中間點要遠,那麼最遠點對就不是最遠點對了,產生矛盾 利用樹上點對路徑唯一性,兩次 dfs 求出染色點直徑 include define ll long long de...
2019牛客暑期多校訓練1
equivalent prefixes 這個是乙個用單調棧的題目,至於為什麼可以用單調棧?把兩個陣列同時跑單調棧,如果每次進棧最多乙個,當然在這個進棧之前肯定會有數出棧,如果存在乙個數進棧了,然後這個時候判斷一下進棧的這個數的位置是不是相同,如果不相同就說明肯定是不對的。為什麼說這個時候只要考慮這個...