原題鏈結
單調佇列+字首和
之前一直不理解滑動視窗,通過這道題理解了點,i是視窗右邊節點,i-k+1是視窗左邊界點,而單調佇列是用來求該視窗相關屬性的乙個工具,q[hh]不一定等於視窗的左邊界.
比如,本道題q[hh]是用來求視窗下最小和的下標,與i-k+1的下標無關,我們求cnt是否+1只需要判斷左邊界是否》0&&最小和-左邊界-1的字首和是否》0即可
這裡還有個技巧,破環為鏈:詳情看這篇題解鏈結 ,這裡的2不能重複,因為下標最多到4
下面貼**:
1 #include 2using
namespace
std;
3const
int n = 1e6+10;4
int a[n*2],sum[n*2],q[n*2];5
intmain()
618 printf("
%d\n
",cnt);
19return0;
20 }
P2629 好訊息,壞訊息
uim在公司裡面當秘書,現在有n條訊息要告知老闆。每條訊息有乙個好壞度,這會影響老闆的心情。告知完一條訊息後,老闆的心情等於之前老闆的心情加上這條訊息的好壞度。最開始老闆的心情是0,一旦老闆心情到了0以下就會勃然大怒,炒了uim的魷魚。uim為了不被炒,知道了了這些訊息 已經按時間的發生順序進行了排...
P2629 好訊息,壞訊息
描述 uim在公司裡面當秘書,現在有n條訊息要告知老闆。每條訊息有乙個好壞度,這會影響老闆的心情。告知完一條訊息後,老闆的心情等於之前老闆的心情加上這條訊息的好壞度。最開始老闆的心情是0,一旦老闆心情到了0以下就會勃然大怒,炒了uim的魷魚。uim為了不被炒,知道了了這些訊息 已經按時間的發生順序進...
好訊息,壞訊息(洛谷 P2629)
題目描述 uim在公司裡面當秘書,現在有n條訊息要告知老闆。每條訊息有乙個好壞度,這會影響老闆的心情。告知完一條訊息後,老闆的心情等於之前老闆的心情加上這條訊息的好壞度。最開始老闆的心情是0,一旦老闆心情到了0以下就會勃然大怒,炒了uim的魷魚。uim為了不被炒,知道了了這些訊息 已經按時間的發生順...