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

為生存而奔跑

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

留言簿(5)

我參與的團隊

搜索

  •  

積分與排名

  • 積分 - 331738
  • 排名 - 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>
            国产精品jizz在线观看美国| 欧美在线播放| 欧美日韩另类综合| 欧美电影在线免费观看网站| 久久色在线观看| 美日韩精品视频| 欧美激情第六页| 国产精品av一区二区| 国产精品视频久久| 国产亚洲精品福利| 亚洲韩国青草视频| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲精品一区二区三区四区高清| 日韩亚洲欧美成人| 亚洲欧美日韩中文在线制服| 久久久久国产精品厨房| 欧美成人综合一区| 日韩视频在线观看免费| 亚洲欧美影院| 久久一区二区三区国产精品| 欧美激情一区二区三区在线视频观看| 欧美日韩一区二区国产| 国产一区二区三区在线观看精品 | 国产综合久久| 亚洲人成人77777线观看| 亚洲一区二区三区在线看| 久久久久国色av免费观看性色| 亚洲福利视频专区| 一本色道久久综合狠狠躁篇的优点 | 午夜精品久久久久影视| 亚洲一区二区三区欧美 | 黄色成人免费网站| 亚洲精品久久久久久久久久久 | 亚洲日本中文字幕区| 亚洲欧美激情一区二区| 欧美精品九九| 亚洲春色另类小说| 久久国产视频网站| 这里只有精品电影| 欧美精品久久一区| 亚洲福利视频三区| 久久久久成人精品| 亚洲欧美日韩国产成人| 欧美日韩亚洲一区二| 亚洲激情校园春色| 老鸭窝毛片一区二区三区| 亚洲一区二区三区在线看| 欧美母乳在线| 亚洲精品自在久久| 欧美激情一二区| 久久亚洲私人国产精品va媚药| 国产精品亚洲第一区在线暖暖韩国| 亚洲乱码精品一二三四区日韩在线 | 小黄鸭精品aⅴ导航网站入口| 欧美人与性动交α欧美精品济南到| 伊人久久亚洲热| 久久久久免费| 午夜精品区一区二区三| 国产精品视频不卡| 亚洲欧美经典视频| 亚洲一区二区在线播放| 国产精品极品美女粉嫩高清在线| 一区二区三区黄色| 一区二区三区四区五区精品视频| 欧美日韩日韩| 亚洲综合色激情五月| 在线一区二区三区四区五区| 国产精品xxxav免费视频| 亚洲一区三区视频在线观看 | 亚洲视频999| 国产精品久久夜| 欧美一区二区精美| 欧美一区二区视频网站| 黄色一区二区在线| 欧美黄色aa电影| 欧美日本在线看| 亚洲一区二区三区高清不卡| 99精品视频免费在线观看| 99热免费精品| 在线综合欧美| 国产日韩在线亚洲字幕中文| 久久久久久久久久码影片| 久久久久久久综合色一本| 亚洲国产欧美在线| 亚洲日韩视频| 国产精品网红福利| 久久伊人精品天天| 欧美18av| 香蕉久久久久久久av网站| 久久精品国产在热久久 | 欧美日韩日本视频| 欧美一区二区黄色| 蜜桃av噜噜一区| 亚洲一区二区在线免费观看视频 | 欧美视频观看一区| 久久国产福利| 欧美jizz19性欧美| 亚洲欧美另类国产| 乱码第一页成人| 亚洲在线视频观看| 久久久欧美一区二区| 一区二区三区日韩在线观看| 亚洲欧美日韩精品久久| 亚洲精选在线观看| 午夜欧美精品久久久久久久| 亚洲级视频在线观看免费1级| 一区二区激情视频| 亚洲国产网站| 欧美在线看片| 亚洲综合久久久久| 欧美精品免费观看二区| 久久久久成人精品| 国产精品伦理| 亚洲人午夜精品免费| 国产综合久久久久久| 一区二区三区精品久久久| 一区二区视频在线观看| 中文日韩电影网站| 99re成人精品视频| 玖玖玖国产精品| 久久久午夜电影| 国产精品私人影院| 在线视频精品| 一区二区三区视频在线播放| 久久影视精品| 久久网站热最新地址| 国产伦精品一区二区三区照片91 | 亚洲韩日在线| 久久精品99无色码中文字幕| 亚洲免费视频观看| 欧美日韩高清在线观看| 亚洲欧美日韩一区二区三区在线| 亚洲网址在线| 亚洲精品国产精品国自产在线| 欧美亚洲在线观看| 午夜亚洲精品| 国产精品久久国产精麻豆99网站| 亚洲美女免费精品视频在线观看| 亚洲国产精品悠悠久久琪琪| 久久人人爽爽爽人久久久| 久久久久久91香蕉国产| 国产精品香蕉在线观看| 亚洲永久在线观看| 亚洲欧美日韩国产一区二区三区| 欧美视频中文一区二区三区在线观看 | 欧美国产日本在线| 欧美激情亚洲| 一区二区三区免费观看| 欧美天堂亚洲电影院在线播放| 亚洲免费观看| 亚洲欧美另类在线观看| 国产精品综合| 久久精品欧美| 亚洲国产婷婷香蕉久久久久久99 | 国产一区二区三区成人欧美日韩在线观看 | 久久中文字幕一区| 在线播放亚洲| 欧美成人精品三级在线观看| 亚洲精品久久久久久久久久久久| 在线一区二区三区做爰视频网站 | 久久亚洲私人国产精品va| 在线观看欧美日韩国产| 麻豆成人在线播放| 亚洲国产一区在线观看| 亚洲一区二区三区高清| 国产日韩欧美精品一区| 久久久久亚洲综合| 亚洲精品乱码久久久久久久久| 亚洲系列中文字幕| 国产综合久久久久久鬼色| 欧美大片免费观看在线观看网站推荐| 亚洲精品一级| 久久蜜桃香蕉精品一区二区三区| 亚洲精品久久久久久久久久久久久| 欧美日韩在线视频首页| 欧美一区二区三区播放老司机| 欧美激情亚洲另类| 欧美一区亚洲一区| 日韩写真在线| 精品盗摄一区二区三区| 欧美日韩你懂的| 久久字幕精品一区| 亚洲女同同性videoxma| 亚洲国产欧美一区二区三区同亚洲| 欧美体内she精视频| 另类av一区二区| 亚洲欧美日韩国产成人| 亚洲影院污污.| 免费在线视频一区| 99re66热这里只有精品3直播| 午夜免费日韩视频| 亚洲精品网址在线观看| 久久精品盗摄| 欧美午夜性色大片在线观看| 亚洲女人天堂成人av在线| 最新中文字幕一区二区三区| 久久不射网站| 午夜免费在线观看精品视频| 亚洲美女少妇无套啪啪呻吟| 精品动漫3d一区二区三区免费|