青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

為生存而奔跑

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

留言簿(5)

我參與的團隊

搜索

  •  

積分與排名

  • 積分 - 331733
  • 排名 - 74

最新評論

閱讀排行榜

評論排行榜

題目大意:給出一個有N個數字(-1000..1000,N<=10^5)的環狀序列,讓你求一個和最大的連續子序列。這個連續子序列的長度小于等于K。
分析:因為序列是環狀的,所以可以在序列后面復制一段(或者復制前k個數字)。如果用s[i]來表示復制過后的序列的前i個數的和,那么任意一個子序列[i..j]的和就等于s[j]-s[i-1]。對于每一個j,用s[j]減去最小的一個s[i](i>=j-k+1)就可以得到以j為終點長度不大于k的和最大的序列了。將原問題轉化為這樣一個問題后,就可以用單調隊列解決了。

單調隊列即保持隊列中的元素單調遞增(或遞減)的這樣一個隊列,可以從兩頭刪除,只能從隊尾插入。單調隊列的具體作用在于,由于保持隊列中的元素滿足單調性,對于上述問題中的每個j,可以用O(1)的時間找到對應的s[i]。(保持隊列中的元素單調增的話,隊首元素便是所要的元素了)。

維護方法:對于每個j,我們插入s[j-1](為什么不是s[j]? 隊列里面維護的是區間開始的下標,j是區間結束的下標),插入時從隊尾插入。為了保證隊列的單調性,我們從隊尾開始刪除元素,直到隊尾元素比當前需要插入的元素優(本題中是值比待插入元素小,位置比待插入元素靠前,不過后面這一個條件可以不考慮),就將當前元素插入到隊尾。之所以可以將之前的隊列尾部元素全部刪除,是因為它們已經不可能成為最優的元素了,因為當前要插入的元素位置比它們靠前,值比它們小。我們要找的,是滿足(i>=j-k+1)的i中最小的s[i],位置越大越可能成為后面的j的最優s[i]。

在插入元素后,從隊首開始,將不符合限制條件(i>=j-k+1)的元素全部刪除,此時隊列一定不為空。(因為剛剛插入了一個一定符合條件的元素)


#include<iostream>
#include
<queue>
using?namespace?std;
#define?INF?0x3fffffff
#define?maxn?100010
int?num[maxn],sum[maxn];
int?main()
{
????
int?T;
????
int?N,K,n;
????cin
>>T;
????
while(T--)
????{
????????cin
>>N>>K;
????????sum[
0]=0;
????????
for(int?i=1;i<=N;i++)
????????{
????????????cin
>>num[i];
????????????sum[i]
=sum[i-1]+num[i];
????????}
????????
for(int?i=N+1;i<N+K;i++)
????????{
????????????sum[i]
=sum[i-1]+num[i-N];
????????}
????????n
=N+K-1;
????????
????????deque
<int>?q;
????????q.clear();
????????
????????
int?ans=-INF;
????????
int?start,end;
????????
//[j-kj]?枚舉以j結尾的區間,找[j-k,j]中sum最小的i
????????for(int?j=1;j<=n;j++)
????????{
????????????
while(!q.empty()?&&?sum[j-1]<sum[q.back()])
????????????????q.pop_back();
????????????
while(!q.empty()?&&?q.front()<(j-K))
????????????????q.pop_front();
????????????q.push_back(j
-1);
????????????
if(sum[j]-sum[q.front()]>ans)
????????????{
????????????????ans
=sum[j]-sum[q.front()];
????????????????start
=q.front()+1;
????????????????end
=j;
????????????}
????????}
????????cout
<<ans<<"?"<<start<<"?"<<(end>N?end%N:end)<<endl;
????}
}


posted on 2010-08-04 15:44 baby-fly 閱讀(2473) 評論(8)  編輯 收藏 引用 所屬分類: Algorithm

Feedback

# re: HDU 3415 單調隊列 2010-08-27 19:54 justmeh
不錯,單調隊列只保存了index,減少了一半的空間。  回復  更多評論
  

# re: HDU 3415 單調隊列 2010-08-27 20:21 justmeh
另外,<queue>里面的queue定義中好像沒有pop_front和pop_back成員函數吧!  回復  更多評論
  

# re: HDU 3415 單調隊列 2010-09-12 12:29 baby_fly
@justmeh
用的是dequeue  回復  更多評論
  

# re: HDU 3415 單調隊列 2011-07-02 21:42 asdf
nb  回復  更多評論
  

# re: HDU 3415 單調隊列 2011-07-26 09:55 Chengsir
@baby_fly
學習了!  回復  更多評論
  

# re: HDU 3415 單調隊列 2011-08-29 13:33 @fly
贊一個  回復  更多評論
  

# re: HDU 3415 單調隊列 2013-07-15 13:26 KissLL
話說,sum數組為什么只開10W就能過,如果n=100000,k=100000,明顯要開20W啊  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久久久久久成人| 欧美国产日韩一区二区在线观看| 99视频热这里只有精品免费| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品国产三级国产专区53 | 欧美国产第二页| 黄色成人91| 久久深夜福利| 性欧美超级视频| 国产精品久久毛片a| 亚洲少妇诱惑| 在线亚洲+欧美+日本专区| 欧美日韩精品三区| 亚洲一区二区三区四区五区午夜| 日韩写真在线| 国产精品人人爽人人做我的可爱| 亚洲一区二区三区中文字幕在线| 亚洲美女福利视频网站| 欧美视频精品在线观看| 欧美一区二区三区在线播放| 久久国产精品久久久久久久久久| 国产日韩在线亚洲字幕中文| 久久久99久久精品女同性| 久久国产精品99国产精| 亚洲高清一区二| 亚洲欧洲在线免费| 欧美精选午夜久久久乱码6080| 99视频精品| 亚洲在线国产日韩欧美| 国内外成人免费视频 | 亚洲新中文字幕| 国产亚洲免费的视频看| 牛牛国产精品| 欧美日韩一区二区在线播放| 午夜欧美电影在线观看| 久久精品五月婷婷| 夜夜爽夜夜爽精品视频| 亚洲欧美在线免费观看| 在线日韩成人| aa级大片欧美三级| 国内精品久久久久久| 91久久午夜| 国产午夜精品一区二区三区视频| 欧美国产视频日韩| 国产精品欧美精品| 亚洲国产高清在线| 国产婷婷色一区二区三区四区| 欧美国产精品中文字幕| 欧美无砖砖区免费| 伊人男人综合视频网| 亚洲国产精品一区在线观看不卡| 欧美三级网页| 欧美777四色影视在线| 国产精品99免费看 | 亚洲视频导航| 久久av一区二区三区漫画| 日韩视频在线一区| 欧美一区二区在线免费播放| 日韩午夜免费| 久久久夜精品| 久久精品女人的天堂av| 欧美日韩国产综合久久| 美女黄网久久| 国产无遮挡一区二区三区毛片日本| 亚洲精品1区2区| 在线日韩av片| 欧美主播一区二区三区| 亚洲欧美另类综合偷拍| 欧美黄在线观看| 欧美成人激情视频| 韩国美女久久| 欧美在线国产| 欧美中文字幕在线观看| 欧美网站在线观看| 日韩亚洲国产精品| 亚洲精品国产视频| 老牛国产精品一区的观看方式| 尤物精品国产第一福利三区| 久久精品国产91精品亚洲| 亚洲一区二区三区中文字幕| 亚洲麻豆国产自偷在线| 久久免费黄色| 另类图片国产| 一区二区亚洲| 久久精品午夜| 美女爽到呻吟久久久久| 国内视频精品| 久久精品免费播放| 老司机午夜免费精品视频| 国产小视频国产精品| 性欧美暴力猛交69hd| 久久国产一区二区三区| 国产日韩欧美高清| 性做久久久久久| 久久久欧美一区二区| 精品1区2区| 免费日韩av片| 亚洲精品在线三区| 亚洲女人av| 国产视频一区二区三区在线观看| 午夜影院日韩| 另类亚洲自拍| 亚洲美女视频在线免费观看| 欧美精品v日韩精品v韩国精品v| 欧美激情在线播放| 亚洲巨乳在线| 国产精品v日韩精品v欧美精品网站| 一区二区三区不卡视频在线观看| 亚洲永久免费观看| 国产日韩精品一区二区| 久久精品盗摄| 亚洲高清中文字幕| 亚洲在线视频免费观看| 国产欧美日韩在线| 久久婷婷综合激情| 亚洲欧洲另类| 性欧美暴力猛交69hd| 一区二区在线视频播放| 欧美精品在线观看播放| 亚洲一区二区三区精品在线观看| 久久久精品国产免大香伊| 91久久国产综合久久蜜月精品| 欧美日韩岛国| 久久精品国产2020观看福利| 最近中文字幕mv在线一区二区三区四区 | 欧美日韩国产一区二区三区| 亚洲欧美综合网| 欧美二区在线播放| 亚洲女同同性videoxma| 精品1区2区3区4区| 欧美午夜久久| 久久午夜精品| 亚洲一二三区在线观看| 欧美成人dvd在线视频| 亚洲欧美另类综合偷拍| 最新亚洲电影| 韩日欧美一区| 国产精品乱码一区二区三区 | 日韩香蕉视频| 狠狠做深爱婷婷久久综合一区 | 99国产一区| 黑人中文字幕一区二区三区| 欧美涩涩网站| 欧美激情精品久久久久久免费印度 | 美女黄网久久| 欧美日韩成人在线视频| 亚洲在线观看视频| 国产精品人人做人人爽人人添| 欧美一区二区三区成人| 亚洲精品久久久久久久久久久久| 久久国产精品久久久久久电车| 9l视频自拍蝌蚪9l视频成人| 一区二区亚洲| 国产区日韩欧美| 国产精品国产三级国产aⅴ9色| 久久久久**毛片大全| 亚洲性夜色噜噜噜7777| 亚洲精品之草原avav久久| 欧美成人一区二免费视频软件| 久久不射2019中文字幕| 亚洲综合丁香| 亚洲综合欧美日韩| 亚洲午夜电影在线观看| 一区二区精品| 夜夜嗨av色一区二区不卡| 最近中文字幕日韩精品| 亚洲福利视频一区| 亚洲高清在线观看一区| 在线观看的日韩av| 伊人狠狠色j香婷婷综合| 国产欧美日韩精品在线| 国产精品国产三级国产aⅴ无密码| 欧美日韩国产综合视频在线| 欧美电影打屁股sp| 欧美国产日本| 欧美日本亚洲韩国国产| 欧美另类一区| 欧美四级电影网站| 国产精品美女xx| 国产欧美日韩一区二区三区| 国产一级久久| 在线播放一区| 亚洲人成在线影院| 一区二区免费在线视频| 国产精品99久久久久久久久 | 亚洲免费观看高清完整版在线观看| 欧美高清在线观看| 亚洲国产精品成人一区二区| 亚洲国产欧美日韩精品| 亚洲精品影院| 亚洲一区二区免费视频| 欧美怡红院视频一区二区三区| 欧美一级在线视频| 另类尿喷潮videofree| 欧美成人一品| 国产精品成人一区| 国产一区视频在线看| 最新国产精品拍自在线播放| 正在播放亚洲一区| 久久精品中文字幕一区二区三区 |