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

misschuer

常用鏈接

統計

積分與排名

百事通

最新評論

hdu 1025 Constructing Roads In JGShining's Kingdom

/*
設d[i]為以i結尾的最長上升子序列的長度,那么它的前一個元素是什么呢?
設它為j,則d[i] = max{d[j]} + 1,其中枚舉條件是j < i且a[j] < a[i]。
狀態有O(n)個,決策O(n)個,時間復雜度為O(n^2)。

下面考慮如何把它優化到O(nlogn)。
把同一個i對應的d[i]和a[i]看成一個二元組(d, a)。
在計算d[i]時,考慮所有滿足j < i的二元組(d, a)。
顯然它們的i是無關緊要的,只需要找出其中a[j] < a[i]的最大d[j]即可。

換句話說,程序看起來應該是這樣的:
其中getmax(S,a[i])表示在集合S中所有a值小于a[i]的二元組中尋找d的最大值。
update(S,a[i],d[i])表示用二元組a[i]; d[i]更新集合S。

現在問題的關鍵是實現集合S??紤]二元組(5, 4)和(5, 3)。它們d值相同但a值不同。
對于后續決策來說,(5, 4)是合法時(5, 3)一定合法,而且(5, 4)和(5, 3)一樣好。

因此我們規定:只保留(5, 3)!換句話說:d值相同的a只保留一個。
用g[i]表示d值為i的最小a,那么一定有g[1] < g[2] < …… < g[n]
(想一想,為什么?)。不存在的d值對應的g設為正無窮。
d[i]的計算可以使用二分查找得到大于等于a[i]的第一個數j,
則d[i] = j(本來是找不大于a[i]的最后一個數j,則d[i] = j + 1,
但這樣轉化后更方便)。g的更新由于g[j] > a[i],且i的d值為j,
因此需要更新g[j] = a[i]。
程序如下:

fill (g , g + n , infinity );

for(int i = 0; i < n; i ++){

  int j = lower_bound (g , g + n , a[ i ]) - g;
  d[ i ] = j + 1;
  g[ j ] = a[ i ];
}
6
1 6 2 4 3 7
*/

#include 
<iostream>
#define MAXN 500001
using namespace std;


int n, dp[MAXN], len, g[MAXN];

int binarySearch(int *M, int a) {

    
int left = 1, right = len, cnt = 0;

    
while(left <= right) {
    
        
int mid = (left + right) >> 1;
        
//= 適用于不降遞增子序列
        if(a >= M[ mid ]) {
        
            
if(cnt < mid) cnt = mid;
            left 
= mid + 1;
        }
        
else right = mid - 1;
    }
    
return cnt;
}

void res() {
  
    
int cc, tmp;
    len 
= 1; g[ 1 ] = dp[ 1 ];
    
    
//g[i] 表示 d值為i 的最小dp

    
for(int i = 2; i <= n; ++ i) {

        tmp 
= binarySearch(g, dp[ i ]);
        cc 
= tmp + 1;
        
if(cc > len) {
        
            g[ cc ] 
= dp[ i ];
            len 
++;
        }
        
else if(g[ cc ] > dp[ i ]) {
        
            g[ cc ] 
= dp[ i ];
        }
    }

    
if(len > 1)
        printf(
"My king, at most %d roads can be built.\n\n", len);
    
else
        printf(
"My king, at most %d road can be built.\n\n", len);
}


int main() {

    
int z = 1in;
    
while(~scanf("%d"&n)) {
    
        
for(int i = 1; i <= n; ++ i) {
        
            scanf(
"%d"&in);
            scanf(
"%d"&dp[ in ]);
        }

        printf(
"Case %d:\n", z ++);

        res();
    }
    
return 0;
}

posted on 2011-03-15 14:25 此最相思 閱讀(495) 評論(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>
            一区二区三区四区精品| 午夜久久久久久久久久一区二区| 久久一区欧美| 久久九九国产| 亚洲国产精品久久久久秋霞不卡| 亚洲高清在线观看| 久久久久久综合| 亚洲精品一区二区三区不| 亚洲国产精品视频| 国产精品久久99| 久久久久青草大香线综合精品| 久久乐国产精品| 一区二区av在线| 亚洲欧洲av一区二区| 在线精品国精品国产尤物884a| 亚洲国产女人aaa毛片在线| 欧美日一区二区在线观看 | 在线成人h网| 日韩天堂av| 国内精品嫩模av私拍在线观看 | 亚洲电影一级黄| 日韩一区二区免费高清| 国产精品日韩欧美一区二区三区| 久久一日本道色综合久久| 欧美日韩免费观看一区| 久久深夜福利免费观看| 欧美精品一区二区三区久久久竹菊| 性欧美激情精品| 欧美黄色免费网站| 久久久免费av| 国产精品伦理| 亚洲欧洲在线播放| 一区在线免费观看| 亚洲免费综合| 中文精品99久久国产香蕉| 久久狠狠婷婷| 新片速递亚洲合集欧美合集| 欧美黄色aaaa| 欧美高清影院| 狠狠久久亚洲欧美专区| 亚洲一区欧美激情| 在线视频精品一区| 欧美成年人视频网站| 久久久免费观看视频| 国产精品激情| 99亚洲伊人久久精品影院红桃| 在线色欧美三级视频| 欧美一区二区三区在| 亚洲欧美日韩精品在线| 欧美日韩国产综合在线| 欧美激情久久久久久| 在线观看91精品国产入口| 午夜在线观看免费一区| 亚洲欧美一区二区三区极速播放 | 中文网丁香综合网| 在线亚洲+欧美+日本专区| 欧美成人有码| 欧美激情国产精品| 亚洲国产成人精品视频| 久久久亚洲一区| 久久亚洲精品一区| 狠狠v欧美v日韩v亚洲ⅴ| 欧美一区二区在线看| 久久九九免费视频| 国产综合色一区二区三区| 性欧美激情精品| 欧美在线亚洲在线| 国产综合色产在线精品| 久久九九精品99国产精品| 另类激情亚洲| 亚洲高清久久久| 欧美黄色日本| 一区二区三区 在线观看视频| 亚洲午夜激情网站| 国产精品羞羞答答| 欧美一区国产一区| 欧美大片一区| 一区二区三区国产在线| 欧美性视频网站| 性久久久久久久久久久久| 玖玖在线精品| 亚洲免费不卡| 国产精品日韩一区二区三区| 欧美在线亚洲在线| 欧美二区不卡| 亚洲综合欧美日韩| 国产资源精品在线观看| 欧美黑人国产人伦爽爽爽| 日韩一级视频免费观看在线| 欧美在线视频二区| 欧美日本高清一区| 亚洲欧美日韩在线观看a三区| 免费看成人av| 亚洲一区区二区| 欧美激情视频一区二区三区在线播放 | 欧美在线网站| 国产亚洲一区二区三区在线观看| 亚洲视屏一区| 久久一二三四| 国产欧美一级| 猛男gaygay欧美视频| 亚洲裸体俱乐部裸体舞表演av| 亚洲欧美综合国产精品一区| 一区二区三区中文在线观看| 欧美大片国产精品| 亚洲欧美在线观看| 亚洲狼人精品一区二区三区| 久久久精品一区| 中文精品99久久国产香蕉| 精品成人a区在线观看| 欧美午夜电影在线| 欧美不卡一区| 久久精品女人的天堂av| 日韩午夜免费| 欧美福利视频在线观看| 欧美一区二区视频在线观看2020| 亚洲精品欧美精品| 亚洲第一伊人| 国产在线国偷精品产拍免费yy| 欧美日韩在线播放三区| 欧美成人日本| 久久久蜜臀国产一区二区| 午夜精品99久久免费| 中日韩美女免费视频网站在线观看| 免费视频久久| 老司机免费视频久久| 久久精品亚洲一区二区三区浴池| 亚洲视频在线观看一区| 亚洲乱码国产乱码精品精天堂| 在线观看欧美| 亚洲第一级黄色片| 精品91在线| 亚洲福利小视频| 精品成人一区二区三区| 国产欧美一区二区精品仙草咪 | 亚洲第一区色| 欧美专区亚洲专区| 欧美伊人久久久久久午夜久久久久 | 欧美三区美女| 欧美日韩精品一本二本三本| 欧美成人精品一区二区三区| 女人色偷偷aa久久天堂| 女生裸体视频一区二区三区| 美女国内精品自产拍在线播放| 久久久精品动漫| 老色鬼久久亚洲一区二区| 久久乐国产精品| 麻豆精品精华液| 欧美精品成人一区二区在线观看| 欧美激情在线观看| 久久久久久夜精品精品免费| 日韩一级网站| 国产欧美丝祙| 今天的高清视频免费播放成人| 在线观看的日韩av| 亚洲人成免费| 亚洲尤物在线| 久久久久国内| 亚洲电影免费| 在线视频欧美日韩| 欧美主播一区二区三区| 久久视频在线免费观看| 欧美电影免费观看| 欧美午夜宅男影院在线观看| 国产亚洲欧美中文| 亚洲精品欧美精品| 性欧美8khd高清极品| 久久九九久久九九| 亚洲国产乱码最新视频| 亚洲网站在线观看| 久久久夜色精品亚洲| 欧美午夜寂寞影院| 国产最新精品精品你懂的| 亚洲精品日韩精品| 欧美在线观看一区二区三区| 久久综合网色—综合色88| 亚洲三级视频在线观看| 午夜精品免费视频| 欧美成人dvd在线视频| 国产麻豆日韩| 99精品欧美一区二区三区| 欧美专区日韩专区| 亚洲区第一页| 久久久福利视频| 国产精品高清一区二区三区| 在线观看国产日韩| 欧美怡红院视频| 亚洲欧洲一二三| 久久久www成人免费无遮挡大片| 国产精品ⅴa在线观看h| 91久久精品网| 快射av在线播放一区| 亚洲图片在线观看| 欧美日韩国产不卡在线看| 激情婷婷久久| 久久国产精品亚洲77777| 亚洲最新视频在线| 欧美激情aaaa| 亚洲激情第一区| 免费亚洲视频|