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

a tutorial on computer science

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  21 隨筆 :: 0 文章 :: 17 評論 :: 0 Trackbacks
    其實這個題不該想這么久的。。。
  題目的意思是說給一個正數序列,求其中的最長的最大值-最小值大于等于M  并且  小于等于K 的長度。
     咋一看起來很麻煩,想了想也很麻煩。怎么才能保證是最長的并且大于等于M還小于等于K呢?維護一個大于等于M且小于等于K的隊列?當加入新的元素之后,若不滿足題目給的條件,應該從兩個隊列的隊尾出隊,但是應該出哪一個?應該出絕對位置靠前面的那個。
     上面說了一大堆,忽略了一個問題:當兩個隊伍的元素之差小于M的時候,無論怎么出隊,都不可能再大于M了!所以當最大值減最小值小于M的時候,就不需要再出隊了。所以程序的自然語言描述就是,維護一個最長的,且<=K的隊列。
     上面的思路很麻煩,而且無法證明其正確性。后來發現這個題就是前幾天比賽A題加了一個條件>=M。好吧,這兩個條件是&&的關系,直接維護一個小于等于K的隊列即可,不用管那個M了,只要在求結果的時候判斷下就OK。代碼如下:
#include <stdio.h>

typedef 
struct
{
  
int pos,value;
}
node;

node queueMax[
1000010],queueMin[1000010];
int mhead,mtail,nhead,ntail;

int data[1000010];

int N,M,K;

int max(int a,int b)
{
    
if(a > b)
      
return a;
    
return b;
}

int main()
{
   
int res,i;
   
while(scanf("%d%d%d",&N,&M,&K)!=EOF)
   
{
     
for(i=0;i<N;i++)
       scanf(
"%d",&data[i]);
     res 
= 0;
     mhead 
= mtail = nhead = ntail = 0;
     node tmp 
= {0,data[0]};
     queueMax[mhead
++= queueMin[nhead++= tmp;
     
int start,end; start = 0; end = -1;
     
while(end < N - 1)
     
{
       
//入隊列,end++
       end++;
       
while(mtail != mhead && queueMax[mhead - 1].value < data[end])
         mhead
--;
       
while(ntail != nhead && queueMin[nhead - 1].value > data[end])       
         nhead
--;
         
       tmp.pos 
= end;
       tmp.value 
= data[end];
       queueMax[mhead
++= queueMin[nhead++= tmp;
       
       
       
//保持性質,更新隊列和start 
       
       
while(ntail!= nhead && mhead != mtail && (queueMax[mtail].value - queueMin[ntail].value >K))
       
{
       
if(queueMax[mtail].pos <= queueMin[ntail].pos)
         
{
            start 
= queueMax[mtail].pos + 1;
            mtail
++;
         }

         
else
         
{
            start 
= queueMin[ntail].pos + 1;
            ntail
++;
         }

       }

       
       
//找res
       if((queueMax[mtail].value - queueMin[ntail].value >= M && queueMax[mtail].value - queueMin[ntail].value<=K) && res < end - start + 1)
         res 
= end - start + 1;
         
     }

     printf(
"%d\n",res);
   }

   
return 0;
}

posted on 2012-03-09 14:38 bigrabbit 閱讀(919) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美综合国产精品一区| 亚洲国产一区二区三区a毛片| 日韩一区二区久久| 性色一区二区| 亚洲免费在线播放| 午夜一级在线看亚洲| 欧美一区二区精品久久911| 香蕉久久夜色精品| 久久精品视频免费播放| 蜜桃av噜噜一区二区三区| 欧美伊久线香蕉线新在线| 亚洲欧美日韩中文在线制服| 日韩午夜激情av| 一区二区电影免费在线观看| 亚洲一区二区三区在线视频| 欧美一区二区私人影院日本| 乱中年女人伦av一区二区| 亚洲高清网站| 一本色道久久综合| 亚洲欧美日韩在线高清直播| 久久精品视频在线看| 欧美肥婆在线| 国产精品久久久999| 激情六月婷婷久久| 亚洲国产精品va在线看黑人| 亚洲欧美在线aaa| 久久久999国产| 欧美精品色综合| 国产三级精品在线不卡| 亚洲激情六月丁香| 亚洲欧美福利一区二区| 欧美成人免费一级人片100| 在线视频精品一| 久久精品国产亚洲精品| 欧美日韩第一页| 在线不卡视频| 亚洲一区二区三区久久| 久久午夜精品| 亚洲欧美国产精品桃花| 鲁鲁狠狠狠7777一区二区| 欧美视频在线观看一区二区| 极品尤物av久久免费看| 亚洲桃花岛网站| 牛人盗摄一区二区三区视频| 日韩一区二区精品| 久久这里有精品视频| 欧美日韩精品是欧美日韩精品| 国内精品一区二区三区| 午夜精品网站| 一区二区三区久久| 欧美另类在线观看| 亚洲国产欧美日韩| 美女任你摸久久| 欧美一区二区精品在线| 欧美日韩国产成人在线观看| 亚洲第一中文字幕| 欧美亚洲一区二区三区| 亚洲精品中文字幕在线观看| 欧美成人一区二区| 在线看片第一页欧美| 久久国产精品久久久久久久久久| 亚洲九九精品| 欧美日韩伦理在线| 中文日韩欧美| 亚洲精品女av网站| 久久亚洲春色中文字幕久久久| 国产精品免费看| 先锋资源久久| 亚洲一区三区视频在线观看| 欧美韩日亚洲| 一本大道久久精品懂色aⅴ| 亚洲激情不卡| 欧美日本三级| 亚洲自拍偷拍视频| 亚洲午夜性刺激影院| 国产精品国产三级国产aⅴ无密码| 在线中文字幕一区| 亚洲一区二区精品视频| 国产欧美日韩亚洲精品| 久久久久五月天| 久久一综合视频| 亚洲美女在线视频| 中文在线不卡视频| 国产偷国产偷亚洲高清97cao | 在线观看欧美日韩国产| 久久综合给合久久狠狠狠97色69| 欧美在线观看视频在线 | 免费视频一区| 一本色道久久综合亚洲91| 99精品国产在热久久下载| 国产精品久久久久久av福利软件| 亚洲视频你懂的| 香蕉国产精品偷在线观看不卡| 国产免费观看久久黄| 久久视频在线视频| 美日韩精品免费| 亚洲五月婷婷| 亚洲资源在线观看| 狼人天天伊人久久| 欧美久久一级| 欧美一区二区三区四区在线观看地址 | 亚洲欧美偷拍卡通变态| 欧美一级淫片播放口| 亚洲美女视频| 亚洲欧美日韩直播| 亚洲级视频在线观看免费1级| 日韩一级黄色片| 韩国三级电影一区二区| 亚洲高清中文字幕| 国产精品丝袜91| 欧美 亚欧 日韩视频在线| 欧美日韩亚洲一区二| 久久久999| 国产精品videosex极品| 免费一级欧美在线大片| 国产精品一二三视频| 亚洲国产精品久久久| 国产农村妇女毛片精品久久莱园子 | 亚洲欧美日韩直播| 亚洲国产91| 国产日韩欧美精品综合| 欧美日本精品| 亚洲国产欧美在线| 国产日韩综合一区二区性色av| 日韩视频一区二区在线观看| 影视先锋久久| 久久噜噜亚洲综合| 欧美在线看片| 国产伦精品一区二区三区免费| 亚洲黄色小视频| 亚洲日本精品国产第一区| 欧美一区二区三区电影在线观看| 亚洲一区日韩在线| 欧美精品一区三区| 91久久精品一区二区三区| 欧美日韩高清区| 免费在线成人av| 国产亚洲成人一区| 亚洲一区黄色| 亚洲视频欧美视频| 欧美视频在线观看一区| 亚洲精品乱码久久久久久黑人| 雨宫琴音一区二区在线| 午夜精品国产| 久久久7777| 国产一区av在线| 久久国产精品久久国产精品| 午夜欧美不卡精品aaaaa| 国产精品一区免费在线观看| 亚洲午夜精品一区二区| 性欧美长视频| 国产精品入口66mio| 亚洲欧美日韩网| 亚洲欧美激情在线视频| 国产精品毛片| 亚洲欧美日韩综合一区| 久久一区二区三区av| 狠狠色综合网| 欧美福利一区二区三区| 亚洲激情电影中文字幕| 亚洲一区二区三区视频播放| 欧美三级在线视频| 午夜亚洲激情| 美女精品视频一区| 一本色道久久综合亚洲精品不卡| 欧美激情欧美激情在线五月| 亚洲精品综合| 午夜精品亚洲| 亚洲国产成人av好男人在线观看| 老司机精品视频一区二区三区| 最近看过的日韩成人| 一区二区三区不卡视频在线观看| 国产精品久久网站| 久久久久国产精品一区三寸 | 久久成人这里只有精品| 欧美日韩三级视频| 亚洲一区二区网站| 久久综合久久美利坚合众国| 亚洲国产精品一区二区第一页| 欧美伦理视频网站| 亚洲夜晚福利在线观看| 久久精品视频一| 亚洲人成网站在线观看播放| 国产精品黄色| 久久夜色精品国产欧美乱| 亚洲乱码国产乱码精品精天堂| 欧美一级专区免费大片| 亚洲黄色三级| 国产午夜精品理论片a级大结局 | 夜夜嗨av一区二区三区中文字幕| 亚洲综合视频一区| 亚洲国产网站| 国产精品久久久久久亚洲毛片| 玖玖玖国产精品| 亚洲一区日韩在线| 亚洲精品在线电影| 欧美中文在线观看| 欧美亚洲第一页| 久久免费视频这里只有精品| 一区二区三区www|