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

隨筆-21  評論-10  文章-21  trackbacks-0
Land Division
官網
提交地址


       感覺以前很少接觸到這種劃分的問題,但是它又好像很經典的樣子。

       本題要求劃分的 k 塊之間盡量一樣。使他們的平均偏差最小。 可以很容易想到o(n^2)的dp。然后經隊友提醒,采用單調隊列優化到o(n)。o(n^2)的dp可以這樣考慮:當第 i 根劃分線緊跟在坐標 j 之后時, 枚舉第 i-1 根劃分線在前面的哪個位置然后轉移。 要把這個dp降一維,首先要去掉絕對值。可以通過分類討論來去掉絕對值。

      可以想像有一個滑動窗口(綠色),窗口內的轉移項始終保持最后一項小于平均值。那么窗口左邊的就始終大于平均值。這樣絕對值就去掉了。然后維護一個滑動窗口里的單調隊列就可以了。




  1 #include <string>
  2 #include <vector>
  3 #include <map>
  4 #include <cstdlib>
  5 #include <cstring>
  6 #include <cassert>
  7 #include <set>
  8 #include <iostream>
  9 #include <sstream>
 10 #include <cstddef>
 11 #include <algorithm>
 12 #include <utility>
 13 #include <iterator>
 14 #include <numeric>
 15 #include <list>
 16 #include <complex>
 17 #include <cstdio>
 18 #include <climits>
 19 #include <cassert>
 20 
 21 
 22 using namespace std;
 23 
 24 const int maxn = 100100;
 25 
 26 int gcd(int a, int b){return b ? gcd(b, a%b) : a; }
 27 
 28 int X[maxn], Y[maxn], V[maxn];
 29 int dp[12][maxn];
 30 
 31 int N, K;
 32 
 33 int que[maxn], bb, ee;
 34 int minx, nowx;
 35 
 36 void init()
 37 {
 38     minx = -1;
 39     nowx = 0;//最小的當前仍然滿足和 < N的下標
 40     bb = 0;
 41     ee = 0;
 42 }
 43 
 44 int solve(int X[])
 45 {
 46     sort(X, X + N);
 47     
 48     V[0= 0;
 49     int cnt = 1, pre = -1
 50     for(int i = 0; i < N; i++)
 51     {
 52         if(X[i] == pre)
 53             V[cnt-1]++;
 54         else
 55         {
 56             V[cnt++= 1;
 57             pre = X[i];
 58         }
 59     }
 60     
 61     //V[0]不是實際的點,是臨時加的點
 62     for(int i = 1; i < cnt; i++)
 63     {
 64         V[i] += V[i-1]; 
 65     }
 66     
 67     for(int i = 0; i < cnt; i++)
 68     {
 69         V[i] *= K; // 擴大倍數,沒有分母
 70     }
 71     
 72     for(int i = 0; i < cnt; i++)
 73     {
 74         dp[1][i] = abs(V[i] - N);
 75     }
 76     
 77     
 78     for(int i = 2; i <= K; i++)
 79     {
 80         init();
 81         for(int j = 0; j < cnt; j++)
 82         {
 83             while(V[j] - V[nowx] >= N)
 84             {
 85                 if(minx==-1 || dp[i-1][minx] + V[nowx] - V[minx]> dp[i-1][nowx])
 86                     minx = nowx;
 87                 nowx++;
 88             }
 89             
 90             while(bb != ee && que[bb] < nowx)bb = (bb+1)%maxn;
 91             
 92             while(bb != ee)
 93             {
 94                 int lastid = ( ee - 1 + maxn ) % maxn;
 95                 int last = que[lastid];
 96                 if(dp[i-1][last] - ( V[j] - V[last]) < dp[i-1][j] )break;
 97                 ee = lastid;
 98             }
 99             que[ee] = j;
100             ee = ( ee + 1 ) % maxn;
101             
102             assert(bb != ee);
103             
104             dp[i][j] = dp[i-1][que[bb]] + N - ( V[j] - V[que[bb]] );
105             
106             if(minx != -1)
107                 dp[i][j] = min( dp[i][j], dp[i-1][minx] + V[j] - V[minx] - N );
108         }
109     }
110     
111     return dp[K][cnt-1];
112 }
113 
114 int main()
115 {
116     int cas = 1;
117     while(scanf("%d %d",&N, &K) != EOF)
118     {
119         if(N == 0 && K == 0)break;
120         for(int i = 0; i < N; i++)
121         {
122             scanf("%d %d",&X[i], &Y[i]);
123         }
124         
125         int n = min( solve(X), solve(Y) );
126         int d = K*K;
127         int g = gcd(n, d);
128         printf("%d. %d/%d\n",cas++, n / g, d / g);
129     }
130 }


posted on 2010-07-18 16:21 wangzhihao 閱讀(265) 評論(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>
            在线激情影院一区| 亚洲精品在线观看免费| 亚洲欧美大片| 日韩亚洲一区二区| 国产精品国产一区二区| 午夜亚洲激情| 香蕉成人伊视频在线观看 | 国产精品99久久久久久久女警 | 欧美日本二区| 亚洲女人av| 欧美在线视频一区二区| 亚洲黄色大片| 亚洲最新合集| 国产亚洲欧美另类中文| 久久只有精品| 欧美大尺度在线观看| 亚洲一区二区三区四区中文| 亚洲一区综合| 亚洲黄网站在线观看| 宅男在线国产精品| 国产综合视频在线观看| 亚洲欧洲一区二区天堂久久| 欧美偷拍一区二区| 久久久国产亚洲精品| 蜜桃久久av| 午夜精品视频在线观看一区二区| 久久9热精品视频| 一区二区三区四区五区视频| 香蕉久久久久久久av网站| 亚洲国产精品小视频| 亚洲视频第一页| 亚洲国产精品成人一区二区 | 日韩视频中文| 在线观看一区二区视频| 这里只有视频精品| 亚洲欧洲日产国产网站| 亚洲欧美日韩精品在线| 99精品国产福利在线观看免费 | 亚洲一区二区在线观看视频| 亚洲国产成人高清精品| 亚洲一区成人| 99亚洲一区二区| 久久天天躁夜夜躁狠狠躁2022| 亚洲一二三区在线| 欧美国产一区在线| 久久香蕉精品| 国产欧美亚洲一区| 99热在这里有精品免费| 亚洲日本久久| 久久人人爽国产| 久久精品视频在线| 国产精品毛片| 夜夜嗨av色一区二区不卡| 最新国产成人av网站网址麻豆 | 欧美成人首页| 国内精品嫩模av私拍在线观看| 在线视频你懂得一区二区三区| 亚洲国产女人aaa毛片在线| 亚洲欧美日韩在线高清直播| 亚洲香蕉网站| 欧美日韩视频一区二区三区| 亚洲成人中文| 久久久久久夜| 国产精品v片在线观看不卡| 亚洲精品久久| 亚洲私人黄色宅男| 欧美视频亚洲视频| 一区二区三区日韩| 午夜精品视频在线观看一区二区| 欧美午夜一区| 亚洲一区二区三区精品在线| 香蕉成人伊视频在线观看| 国产精品综合网站| 午夜精品久久久久久久99樱桃| 香蕉久久国产| 国产日韩欧美不卡| 久久精品免费观看| 欧美成人精品在线视频| 亚洲精品久久久久久久久久久久久| 免费成人黄色片| 亚洲黄色三级| 在线视频欧美一区| 国产精品一区二区三区久久久| 午夜精品久久久久| 麻豆成人91精品二区三区| 亚洲国产精品第一区二区| 欧美激情1区2区| 亚洲天堂网站在线观看视频| 久久精品综合网| 亚洲国产天堂久久国产91| 欧美激情国产精品| 亚洲曰本av电影| 欧美成人高清视频| 亚洲午夜女主播在线直播| 国产精品入口夜色视频大尺度| 欧美中文在线视频| 亚洲国产欧洲综合997久久| 一区二区精品国产| 国产亚洲精品成人av久久ww| 美女主播一区| 中文亚洲字幕| 欧美夫妇交换俱乐部在线观看| 亚洲最黄网站| 黄网站色欧美视频| 欧美伦理91| 久久久噜噜噜久久狠狠50岁| 一本一本久久| 欧美成人精品h版在线观看| 亚洲视频在线免费观看| 国产一区二区精品久久99| 免费高清在线一区| 亚洲综合视频网| 欧美高清视频一区二区三区在线观看| 亚洲一二三区在线观看| 亚洲国产精品综合| 国产精品亚洲视频| 欧美电影免费观看大全| 欧美综合二区| 亚洲一区在线视频| 亚洲精品视频在线看| 久热re这里精品视频在线6| 一区二区三区四区五区精品视频| 一区二区三区在线视频免费观看 | 欧美精品导航| 久久久国产精品亚洲一区| 99在线观看免费视频精品观看| 美女精品一区| 欧美在线3区| 亚洲尤物视频在线| 99riav国产精品| 亚洲欧洲一级| 在线日韩精品视频| 国内精品模特av私拍在线观看| 国产精品久久久久久模特| 欧美日韩情趣电影| 欧美区高清在线| 免费观看一区| 免费人成精品欧美精品| 久久裸体视频| 久久精品亚洲一区| 久久精品国产91精品亚洲| 欧美亚洲在线视频| 亚洲欧美日韩国产| 午夜久久99| 午夜精品视频在线| 羞羞漫画18久久大片| 欧美在线视频a| 欧美在线www| 久久久在线视频| 久久综合九色综合欧美就去吻| 久久久国产成人精品| 久久精品五月婷婷| 噜噜噜噜噜久久久久久91| 久久亚洲综合色| 久久夜色精品| 欧美巨乳波霸| 欧美午夜视频在线| 国产欧美一区二区精品婷婷| 国产一区二区在线免费观看| 尤妮丝一区二区裸体视频| 亚洲经典视频在线观看| 一本久久a久久免费精品不卡| 一本色道久久| 欧美自拍偷拍| 美女日韩欧美| 亚洲精品资源| 亚洲欧美日韩在线一区| 久久久噜噜噜久久久| 免费观看在线综合| 欧美性做爰毛片| 国产一区二区三区成人欧美日韩在线观看 | 欧美日韩精品免费在线观看视频| 欧美日韩国产成人精品| 国产精品女人网站| 精品999网站| 一本色道久久综合亚洲二区三区| 欧美一区二区免费观在线| 蜜臀av一级做a爰片久久| 亚洲精品国产精品国产自| 亚洲欧美国产另类| 美日韩精品免费| 国产精品视频男人的天堂| 1204国产成人精品视频| 亚洲午夜精品久久久久久浪潮| 久久久爽爽爽美女图片| 亚洲日本电影在线| 欧美在线视频免费| 欧美经典一区二区三区| 国产一区二区三区奇米久涩 | 欧美激情小视频| 国产精品家庭影院| 一区二区三区在线不卡| 一区二区三区精品| 蜜桃av综合| 亚洲综合欧美| 欧美日本韩国一区| 亚洲高清资源综合久久精品| 欧美一级专区| 一级日韩一区在线观看| 欧美成人在线影院|