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

隨筆-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 閱讀(258) 評論(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>
            国产最新精品精品你懂的| 亚洲精品免费在线| 亚洲午夜免费视频| 国产精品综合色区在线观看| 久久久777| 欧美精品一区在线观看| 欧美一区二区三区四区视频| 狂野欧美激情性xxxx| 亚洲综合成人在线| 久久久久久久高潮| 亚洲影视综合| 美日韩丰满少妇在线观看| 亚洲综合色噜噜狠狠| 久久一综合视频| 欧美一区二区精品久久911| 欧美顶级艳妇交换群宴| 久久精品综合一区| 国产精品v欧美精品v日韩| 欧美成人自拍视频| 国产日产欧美a一级在线| 亚洲欧洲另类| 欧美a级一区| 一本色道久久加勒比88综合| 一区在线观看| 亚洲欧美制服中文字幕| 亚洲免费成人av电影| 欧美中文字幕在线| 亚洲伊人第一页| 欧美国产综合视频| 老鸭窝亚洲一区二区三区| 欧美亚州在线观看| 亚洲国产精品成人| 亚洲福利视频在线| 久久久久久香蕉网| 久久夜精品va视频免费观看| 国产精品主播| 亚洲一区二区三区三| 亚洲一区二区毛片| 欧美噜噜久久久xxx| 亚洲国产一区二区在线| 亚洲国产岛国毛片在线| 久久精品人人做人人综合| 久久爱www.| 国产精品午夜电影| 亚洲一区二区三区在线看| 一区二区三区日韩欧美精品| 欧美久久久久久久久| 亚洲高清在线| 亚洲精品一区二区三区四区高清 | 国产精品日本一区二区| 亚洲人成在线观看一区二区| 日韩视频免费大全中文字幕| 欧美大片在线看| 亚洲精品一线二线三线无人区| 亚洲乱码国产乱码精品精可以看| 欧美激情网友自拍| 欧美一区二区免费| 性色av一区二区三区红粉影视| 欧美jizz19hd性欧美| 老色批av在线精品| 国产一区二区三区日韩| 欧美一区二区三区视频免费| 久久精品二区三区| 国际精品欧美精品| 久久久久综合| 欧美国产视频在线观看| 亚洲欧洲精品一区二区三区不卡| 女生裸体视频一区二区三区| 亚洲国产精品一区二区第一页| 亚洲免费久久| 国产精品免费区二区三区观看| 欧美一区二区三区四区高清| 久久亚洲精品欧美| 亚洲精品国产欧美| 国产精品久久毛片a| 欧美一区二区在线观看| 久久综合网色—综合色88| 亚洲欧洲另类| 国产精品国产三级国产| 欧美一区日本一区韩国一区| 免费视频一区| 亚洲午夜国产成人av电影男同| 国产网站欧美日韩免费精品在线观看 | 欧美黑人在线播放| 一本大道av伊人久久综合| 欧美性大战xxxxx久久久| 午夜在线一区| 亚洲国产毛片完整版 | 欧美激情一区二区三区全黄| 亚洲一区网站| 欧美成人精品h版在线观看| 在线视频欧美一区| 黄色在线一区| 国产精品xxxxx| 美国十次成人| 亚洲欧美日韩爽爽影院| 亚洲黄色在线观看| 久久狠狠婷婷| 夜夜嗨av一区二区三区| 国语自产精品视频在线看8查询8 | 亚洲国产精品t66y| 欧美一区二粉嫩精品国产一线天| 亚洲国产精品久久精品怡红院 | 正在播放亚洲一区| 欧美激情亚洲| 久久久国产91| 亚洲欧美日韩国产综合| 亚洲精品在线一区二区| 有码中文亚洲精品| 国产伦精品一区二区三区视频黑人 | 久久精品91久久香蕉加勒比| 亚洲国产老妈| 国产人成精品一区二区三| 欧美劲爆第一页| 久久精品中文字幕一区二区三区| 亚洲视频视频在线| 亚洲精品美女免费| 欧美国产精品va在线观看| 久久激情综合网| 午夜日韩在线观看| 亚洲永久免费观看| 一区二区三区视频免费在线观看| 雨宫琴音一区二区在线| 国产人成精品一区二区三| 国产精品久久久一区二区| 欧美日韩国产在线播放网站| 欧美成人精品高清在线播放| 久久综合999| 老司机一区二区三区| 久久精品官网| 久久久国产精品一区二区中文| 欧美一区二区三区另类 | 欧美激情第六页| 久久精品夜色噜噜亚洲a∨| 亚洲专区欧美专区| 久久久久久久999精品视频| 午夜在线一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲欧洲一区二区在线播放| 狠狠爱综合网| 狠狠久久婷婷| 亚洲电影免费观看高清完整版| 狠狠狠色丁香婷婷综合激情| 在线播放豆国产99亚洲| 亚洲国产成人久久综合一区| 在线观看日韩专区| 亚洲第一页自拍| 最新日韩在线| 国产精品99久久久久久有的能看| 亚洲图片激情小说| 欧美亚洲一区二区三区| 欧美在线综合| 久久久久www| 欧美激情国产高清| 久久av资源网| 久久国产一二区| 欧美在线不卡| 久久精品理论片| 欧美在线观看日本一区| 欧美一进一出视频| 久久久久久亚洲精品不卡4k岛国| 久久久九九九九| 欧美不卡一区| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲毛片在线看| 亚洲欧美成人在线| 久久久人成影片一区二区三区观看 | 欧美日韩一级大片网址| 国产精品色午夜在线观看| 国产综合香蕉五月婷在线| 亚洲电影免费观看高清完整版| 一区二区三区产品免费精品久久75| 亚洲欧美日韩在线综合| 久久综合给合| 亚洲精品永久免费| 欧美一级二区| 99pao成人国产永久免费视频| 99亚洲一区二区| 小黄鸭精品aⅴ导航网站入口| 欧美影院在线| 欧美激情bt| 中文久久精品| 美女精品在线| 国产欧美69| 日韩小视频在线观看专区| 欧美亚洲在线播放| 亚洲成色精品| 欧美一区二视频| 欧美日韩在线不卡| 今天的高清视频免费播放成人| 亚洲四色影视在线观看| 久久久久久久久岛国免费| 91久久午夜| 久久看片网站| 国产欧美一区二区精品忘忧草| 亚洲精品国产精品国产自| 久久成人国产精品| 99国内精品久久久久久久软件| 久久久免费av| 国产一区二区高清不卡|