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

a tutorial on computer science

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  21 隨筆 :: 0 文章 :: 17 評論 :: 0 Trackbacks
        題目的意思很簡單,給出N個正整數,求最大的,長度大于K的某一段的平均值。好吧,這句聽起來有點拗口。數學表達式就是 Max(ave(i,j))   (j-i>=K)。
       這題是去年百度之星第二場比賽的一道題,煞費苦心不會做,那時候看了論文也不會做。過了快一年了,今天終于把它A掉了。。。
      
       首先,ave(i,j)可以變形為一個式子, ave(i,j) = (sum[j] - sum[i-1]  ) / (j - i + 1) 。
       這個式子要表達什么意思呢?表示j點到i點得斜率!如此神奇的想法。。。
      變成斜率之后,問題遠遠沒有得到解決。問題變成了給出N個點的坐標,求這N個點任意連線的最大斜率。最普通的辦法:從前到后枚舉N個點,再枚舉前0到i-k個點,比較的出最大斜率。但是通過作圖我們可以得出一個結論,對于三個點,a,b,c,如果ca的斜率比cb的大,那么以后任意一個點,到點b的斜率都不可能比到a和c的大。所以這時候要舍棄掉b點。所以在維護前面0,i-K個點得時候,如果出現了上述提到的情況,則刪除點b,好了,這樣復雜度最壞情況下還是N^2。我們繼續想,當出現一個新的點得時候,真的要枚舉前面所有的點嗎?我們只要找到維護的點到當前點得切線就好了,這個可以用二分查找找出來,比較麻煩。最后一步神優化:當當前維護的點得前面的點不是最大斜率的時候,以后的點也不可能是最大斜率。這個自己證明去吧~
     這個題煞費苦心的想了一天,明白怎么回事了,發現結論很簡單。但是交到hdoj上的時候,TLE了。沒耐心看了discuss,原來是scanf要自己寫。不想寫,百度代碼,發現有個神人寫了五十行的代碼,未自己寫輸入,交,A之。原來是自己的代碼太冗余了。于是便仿照他的寫法,發現問題很簡單,一切很明了~A之。代碼如下:
//by bigrabbit

#include 
<stdio.h>

typedef 
struct
{
  
int x,y;
}
node;
node queue[
100010],tmp;
int head,tail;

double res;

int N,K,sum[100010];

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


long long xmul(node a,node b,node c)
{
   
return (long long)(c.y-a.y)*(b.x-a.x) - (long long)(b.y - a.y)*(c.x - a.x) ;
}


int main()
{
    
int i;
   
while(scanf("%d%d",&N,&K)!=EOF)   
   
{
     sum[
0= 0;
     
for(i=1;i<=N;i++)
     
{
        scanf(
"%d",&sum[i]);
        sum[i] 
+= sum[i-1];
     }

  
     head 
= tail = 0;
     res 
= 0.0;
    
     
for(i=K;i<=N;i++)
     
{
        tmp.x 
= i-K;
        tmp.y 
= sum[i-K];
        
while(head - tail >= 2 && xmul(queue[head-2],queue[head-1],tmp) <= 0 ) 
         head
--;
        queue[head
++= tmp;
        
         node now;
        now.x 
= i;now.y = sum[i];
        
while(head - tail >= 2 && xmul(queue[tail],queue[tail+1],now) >= 0 )  
          tail
++;
   
        res 
= max(res,(double)(sum[i] - queue[tail].y)/(double)(i - queue[tail].x));
     }

    printf(
"%.2f\n",res);
   }

   
return 0;
}

posted on 2012-03-08 16:27 bigrabbit 閱讀(1021) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲高清视频在线| 国产精品一区二区久激情瑜伽| 免费看的黄色欧美网站| 在线播放一区| 女人色偷偷aa久久天堂| 91久久精品国产91性色| 亚洲一卡久久| 国产欧美精品在线观看| 久久久免费精品| 91久久国产综合久久| 亚洲一区在线免费观看| 国产一级久久| 久久在线免费视频| 亚洲伦理在线观看| 久久都是精品| av成人手机在线| 国产日韩欧美亚洲一区| 久久综合色婷婷| 一区二区三区不卡视频在线观看 | 国产精品美女久久久久久免费| 在线观看中文字幕亚洲| 欧美韩国日本综合| 亚洲性图久久| 欧美激情精品久久久久| 亚洲一区二区三区四区五区午夜 | 一区二区三区国产在线| 国产亚洲精品久久久久动| 欧美成人一区二区| 香蕉亚洲视频| 亚洲精品免费电影| 亚洲精品国偷自产在线99热| 欧美三级网页| 久久免费视频网站| 亚洲综合好骚| 亚洲美女诱惑| 亚洲第一综合天堂另类专| 欧美一区二区成人6969| 亚洲精品乱码久久久久久蜜桃91 | 久久亚洲国产精品日日av夜夜| 国产精品成人av性教育| 另类图片国产| 久久福利精品| 亚洲午夜久久久久久久久电影院| 欧美激情中文字幕一区二区| 久久se精品一区二区| 99成人免费视频| 在线看视频不卡| 国产一区二区三区四区hd| 欧美色视频一区| 欧美国产先锋| 蜜臀久久99精品久久久画质超高清| 亚洲欧美一区二区三区极速播放| 亚洲人成高清| 欧美激情中文不卡| 欧美ed2k| 麻豆精品视频在线| 久久亚洲国产成人| 久久国产精品久久国产精品| 亚洲网站视频福利| a4yy欧美一区二区三区| 亚洲毛片在线观看.| 亚洲国产日韩一区| 欧美视频在线一区二区三区| 欧美激情精品久久久六区热门 | 国产精品视频大全| 欧美色欧美亚洲另类二区| 欧美日韩1234| 欧美日韩高清区| 欧美日本高清视频| 欧美精品三区| 欧美日韩在线三级| 国产精品久久久久国产a级| 欧美日韩免费高清| 欧美午夜精品电影| 国产精品超碰97尤物18| 国产精品久久夜| 国产美女一区二区| 国内激情久久| 樱桃成人精品视频在线播放| 悠悠资源网亚洲青| 最新69国产成人精品视频免费| 亚洲国产二区| 一本一本久久a久久精品综合麻豆| 91久久精品日日躁夜夜躁欧美 | 国产欧美va欧美va香蕉在| 国产精品午夜视频| 国产曰批免费观看久久久| 狠久久av成人天堂| 亚洲第一网站| 夜夜嗨一区二区三区| 亚洲少妇诱惑| 欧美综合激情网| 噜噜噜躁狠狠躁狠狠精品视频 | 在线观看亚洲一区| 亚洲精品日韩综合观看成人91| 亚洲日本va午夜在线电影| 99国产精品久久久久老师| 亚洲一区二区三区影院| 欧美一区二区视频在线| 欧美69视频| 99在线热播精品免费| 亚洲一区999| 久久免费观看视频| 欧美日韩在线观看一区二区| 国产欧美日韩一区二区三区| 激情综合网址| 亚洲一区二区三区在线视频| 久久激情综合| 亚洲人成网站999久久久综合| 亚洲视频网在线直播| 久久婷婷成人综合色| 欧美日韩国产小视频在线观看| 国产欧美精品日韩区二区麻豆天美| 亚洲国产成人porn| 亚洲欧美中文另类| 亚洲国产欧美久久| 午夜精品短视频| 欧美精品一区二区高清在线观看| 国产欧美日韩亚州综合| 亚洲日本va在线观看| 久久动漫亚洲| 日韩一级黄色av| 久久综合色婷婷| 国产亚洲精品aa午夜观看| aa国产精品| 美日韩精品免费观看视频| 一区二区三区精品国产| 亚洲国产精品一区在线观看不卡| 午夜精品影院| 亚洲欧美影音先锋| 亚洲福利视频一区| 香蕉久久精品日日躁夜夜躁| 一本大道久久精品懂色aⅴ| 欧美成年人在线观看| 欧美电影资源| 久久成人免费网| 一区二区三区在线视频播放| 国产精品毛片一区二区三区 | 国产精品高精视频免费| 亚洲已满18点击进入久久| 国产精品亚洲综合| 亚洲欧美日韩一区二区三区在线| 在线播放豆国产99亚洲| 久久久久久午夜| 亚洲欧美国产高清| 国产一区二区视频在线观看| 欧美国产日韩二区| 亚洲免费视频网站| 国产精品视频久久| 久久尤物电影视频在线观看| 一区二区三区久久| 国产精品亚洲视频| 欧美h视频在线| 中文av一区二区| 久久久久免费视频| 欧美日韩另类在线| 欧美激情第五页| 久久精品盗摄| 欧美激情亚洲综合一区| 香蕉精品999视频一区二区| 欧美啪啪成人vr| 久久久精彩视频| 国产精品久久久久一区二区| 亚洲日韩视频| 国产精品一区在线观看你懂的| 久热成人在线视频| 亚洲欧美日韩第一区| 欧美精品成人一区二区在线观看| 亚洲免费在线看| 免费在线观看精品| 久久国产一区二区| 欧美日韩综合网| 亚洲精品永久免费| 久久久久久久久久久久久女国产乱| 亚洲国产精品久久久久| 久久免费视频一区| 亚洲欧美日韩精品在线| 久久精品123| 国产精品欧美一区喷水| 欧美成人午夜剧场免费观看| 久久精品人人做人人爽| 亚洲精品在线观看视频| 久久久国产午夜精品| 久久亚洲影音av资源网| 国产精品久久久久久一区二区三区 | 亚洲国产高清在线| 国产精品久久久99| 久久久久91| 国产人成一区二区三区影院| 欧美日韩在线视频观看| 久久中文在线| 一片黄亚洲嫩模| 亚洲午夜视频在线观看| 国内精品亚洲| 91久久久在线| 国产精品爽黄69| 欧美成人精品激情在线观看| 欧美日韩一视频区二区| 久久久999精品| 欧美日本三区|