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

隨筆-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>
            欧美激情视频一区二区三区免费 | 亚洲精品1区2区| 亚洲国产一区二区精品专区| 国产精品视频男人的天堂| 欧美精品日韩| 欧美日韩卡一卡二| 欧美性猛片xxxx免费看久爱| 欧美性大战久久久久久久| 欧美精品一区二区三| 欧美二区视频| 国产精品豆花视频| 国产视频一区在线观看| 一色屋精品视频在线观看网站| 国语自产偷拍精品视频偷| 国语精品一区| 亚洲视频欧美在线| 欧美aa在线视频| 日韩视频免费观看高清完整版| 一区二区三区欧美在线观看| 欧美在线综合| 国产精品激情av在线播放| 狠狠色狠狠色综合日日91app| 一本大道av伊人久久综合| 亚洲区一区二| 亚洲一区二区三区四区五区黄| 久久久久久久综合狠狠综合| 欧美成人中文字幕在线| 亚洲男人第一网站| 国产精品国产三级国产专播精品人 | 亚洲精品人人| 玖玖玖免费嫩草在线影院一区| 99国产一区| 欧美激情一区二区三区在线 | 久久亚洲精品中文字幕冲田杏梨 | 亚洲激情av在线| 麻豆国产精品777777在线 | 久久精品国产第一区二区三区最新章节 | 欧美在线视频日韩| 国产在线观看一区| 久久久久.com| 久久国产欧美日韩精品| 国产欧美一区二区三区沐欲| 午夜免费久久久久| 欧美一二三区在线观看| 黄色在线成人| 亚洲国产视频一区| 欧美视频日韩视频在线观看| 亚洲视频免费在线| 香蕉久久夜色精品| 中文无字幕一区二区三区| 欧美日韩在线一区| 亚洲在线第一页| 亚洲欧美清纯在线制服| 亚洲第一毛片| 亚洲欧美日韩国产| av成人激情| 美女脱光内衣内裤视频久久网站| 亚洲三级影院| 久久精视频免费在线久久完整在线看 | 亚洲网站视频福利| 亚洲国产一区二区精品专区| 亚洲制服欧美中文字幕中文字幕| 亚洲国产一区二区精品专区| 欧美怡红院视频一区二区三区| 一区二区三区免费网站| 久久午夜羞羞影院免费观看| 久久国产精品电影| 国产精品久久看| 一区二区三区 在线观看视| 亚洲精品久久久久久久久久久 | 欧美伊人久久| 欧美日韩国产色视频| 亚洲国产精品久久久久婷婷老年| 国产一区在线播放| 久久精品成人欧美大片古装| 久久久一区二区| 精品成人一区二区三区四区| 欧美一区二区视频在线观看| 久久九九精品99国产精品| 国产日韩精品一区二区浪潮av| 亚洲视频一二区| 久久综合伊人77777麻豆| 欧美亚洲视频| 久热re这里精品视频在线6| 在线日韩中文| 欧美区二区三区| 亚洲欧美日韩精品久久久久| 久久久久久欧美| 99精品99久久久久久宅男| 国产精品久久久久久影视| 亚洲欧美在线免费观看| 亚洲大片免费看| 久久er精品视频| 99国产麻豆精品| 国内外成人在线视频| 欧美日韩中文字幕| 久久亚洲一区| 欧美一级成年大片在线观看| 亚洲国产另类 国产精品国产免费| 亚洲嫩草精品久久| 日韩一区二区电影网| 韩国福利一区| 国产亚洲欧美色| 国产精品美女主播| 欧美啪啪一区| 欧美精品三区| 欧美激情第一页xxx| 欧美激情欧美激情在线五月| 久久免费视频观看| 久久免费观看视频| 久久久久久久久久久一区 | 一区二区三区久久| 亚洲黄色视屏| 日韩一级片网址| 99精品国产在热久久下载| 亚洲精品偷拍| 亚洲制服欧美中文字幕中文字幕| 一区二区三区欧美成人| 亚洲无限av看| 午夜一区二区三区不卡视频| 亚洲娇小video精品| 亚洲人成7777| 亚洲淫性视频| 久久夜色精品国产欧美乱极品 | 国外成人在线视频网站| 国产真实久久| 99精品国产在热久久下载| 午夜精品久久久久久久久久久| 欧美一区视频在线| 亚洲国产日韩欧美| 亚洲视屏一区| 欧美+日本+国产+在线a∨观看| 欧美日韩少妇| 国产亚洲精品aa午夜观看| 精品av久久久久电影| 亚洲欧美精品在线| 亚洲精品少妇网址| 久久亚洲精品伦理| 国产一区二区三区四区三区四 | 午夜久久tv| 欧美激情一区二区三区在线视频| 亚洲视频在线观看视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美国产视频在线观看| 激情综合网址| 亚洲精品免费网站| 国产美女精品视频免费观看| 亚洲欧洲一区| 欧美成人国产| 久久精品久久99精品久久| 国产亚洲制服色| 欧美日韩视频一区二区三区| 欧美四级电影网站| 国产精品视频网| 国产精品亚洲成人| 在线观看国产成人av片| 亚洲激情视频网| 亚洲在线黄色| 你懂的视频一区二区| 国产亚洲福利一区| 久久av一区二区三区| 久久亚洲春色中文字幕| 亚洲国产成人在线播放| 欧美喷潮久久久xxxxx| 亚洲欧美在线一区二区| 久久久久久穴| 日韩亚洲欧美综合| 国产欧美1区2区3区| 久久亚洲综合| 亚洲免费观看高清在线观看 | 狼狼综合久久久久综合网| 亚洲成人影音| 欧美日韩一区二区在线| 欧美在线免费播放| 亚洲精品国产日韩| 久久精品国产第一区二区三区最新章节| 国模叶桐国产精品一区| 欧美了一区在线观看| 欧美一级艳片视频免费观看| 欧美电影免费观看高清完整版| 夜夜爽夜夜爽精品视频| 国产主播一区二区三区四区| 欧美电影资源| 久久丁香综合五月国产三级网站| 91久久久久久久久久久久久| 欧美在线视频在线播放完整版免费观看 | 日韩手机在线导航| 国产在线视频欧美| 国产精品家庭影院| 欧美精品一区二| 久久先锋资源| 久久超碰97中文字幕| 一区二区三区四区五区精品| 欧美大片18| 久久人人爽人人爽| 欧美在线播放高清精品| 亚洲视频在线播放| 亚洲久久成人| 亚洲精品在线三区| 亚洲激情偷拍|