2202 修剪草坪

2021-09-25 03:36:35 字數 833 閱讀 1178

在一年前贏得了小鎮的最佳草坪比賽後,約翰變得懶惰了,再也沒有修剪過草坪。現在,新一輪的比賽又開始了,約翰希望能夠再次奪冠。然而,約翰家的草坪非常髒亂,因此,約翰需要讓他的奶牛來完成這項工作。約翰家有n頭奶牛,排成一直線,編號為1到n。每只奶牛的能力是不同的,第i頭奶牛的能力為ei。靠在一起的奶牛很熟悉,所以如果安排相鄰的k+1頭奶牛一起工作,她們就會密謀罷工,所以不能選中連續的k+1頭奶牛。因此,約翰需要你的幫助。如何挑選奶牛,才能使她們的能力之和最高呢?

第一行:兩個用空格隔開的整數:n和k,1≤ n≤ 100000,1≤ k≤ n

第二行到n+1行:第i+1行有乙個整數,表示第i頭牛的能力ei,1≤ ei <= 10^9

第一行:單個整數,表示最大的能力之和

對於30% 的資料,有1 ≤ n ≤ 10。

對於60% 的資料,有1 ≤ n ≤ 2, 000。

對於100% 的資料,有1 ≤ n≤ 100, 000。

#include

#include

using

namespace std;

long

long n,m,a[

100010

],sum[

100010

],f[

100010];

long

long d[

100010];

int q[

100010

],head=

0,tail=1;

long

long

que(

int i)

intmain()

小學期 修剪草坪

有乙個n m的草坪 1 n,m 100 草坪中的草原來的高度都是100。現在使用割草機修剪草坪,來得到各種各樣的圖案。割草機只 能橫著或者豎著割草。每次割草都會先設定乙個高度,割完之後會把比設定高度高的草都割成設定的高度。比如草原來是5 2 8,設定高度為4,那麼割完之後就變成了4 2 4。現在給出...

修剪草坪 單調佇列

這道題我們可以換乙個角度思考,把題意看成 我們找到哪些奶牛不選,且滿足每兩個相鄰的不選的奶牛之間不能間隔超過k,當這些不選的奶牛的貢獻總和最低時,我們選的奶牛貢獻就最高了!這個過程用單調佇列優化一下即可,然而博主太弱了,就用了個優先佇列 include include include include...

修剪草坪 滑動視窗

題目 o pro在一年前贏得了小鎮的最佳草坪比賽後,tw 變得很懶,再也沒有修剪過草坪。現在,新一輪的最佳草坪比賽又開始了,tw 希望能夠再次奪冠。然而,tw 的草坪非常髒亂,因此,tw 只能夠讓他的奶牛來完成這項工作。tw 有 n 1 n 100,000 只排成一排的奶牛,編號為 1.n。每只奶牛...