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

oyjpArt ACM/ICPC算法程序設(shè)計(jì)空間

// I am new in programming, welcome to my blog
I am oyjpart(alpc12, 四城)
posts - 224, comments - 694, trackbacks - 0, articles - 6
Minimizing maximizer
Time Limit: 5000MS Memory Limit: 30000K
Total Submissions: 1004 Accepted: 280

Description
The company Chris Ltd. is preparing a new sorting hardware called Maximizer. Maximizer has n inputs numbered from 1 to n. Each input represents one integer. Maximizer has one output which represents the maximum value present on Maximizer's inputs.

Maximizer is implemented as a pipeline of sorters Sorter(i1, j1), ... , Sorter(ik, jk). Each sorter has n inputs and n outputs. Sorter(i, j) sorts values on inputs i, i+1,... , j in non-decreasing order and lets the other inputs pass through unchanged. The n-th output of the last sorter is the output of the Maximizer.

An intern (a former ACM contestant) observed that some sorters could be excluded from the pipeline and Maximizer would still produce the correct result. What is the length of the shortest subsequence of the given sequence of sorters in the pipeline still producing correct results for all possible combinations of input values?

Task
Write a program that:

reads a description of a Maximizer, i.e. the initial sequence of sorters in the pipeline,
computes the length of the shortest subsequence of the initial sequence of sorters still producing correct results for all possible input data,
writes the result.

Input
The first line of the input contains two integers n and m (2 <= n <= 50000, 1 <= m <= 500000) separated by a single space. Integer n is the number of inputs and integer m is the number of sorters in the pipeline. The initial sequence of sorters is described in the next m lines. The k-th of these lines contains the parameters of the k-th sorter: two integers ik and jk (1 <= ik < jk <= n) separated by a single space.

Output
The output consists of only one line containing an integer equal to the length of the shortest subsequence of the initial sequence of sorters still producing correct results for all possible data.

Sample Input

40 6
20 30
1 10
10 20
20 30
15 25
30 40

 

Sample Output

4

 

Hint
Huge input data, scanf is recommended.

Source
Central Europe 2003

//pku1769
/*
 * trival DP dp[i] = dp[j] + 1 (if there is a segment starting from a->i && a <= j)  o(n^2)
 * 考慮到轉(zhuǎn)移的時(shí)候選擇的是一段內(nèi)的最小dp值,運(yùn)用點(diǎn)樹(shù)可以解決
 */
#include <string.h>
#include <stdio.h>

const int N = 50010;
const int MAXINT = 1000000000;

int n, l;

struct ST {int i,j,m,l,r,c;} st[2*N];
int up, cnt;

void bd(int d, int x, int y) {
 st[d].i = x, st[d].j = y, st[d].m = (x+y)/2, st[d].c = MAXINT;
 if(x < y) {
  st[d].l = ++up; bd(up, x, st[d].m);
  st[d].r = ++up; bd(up, st[d].m+1, y);
 }
}

void ins(int d, int x, int c) {
 if(c < st[d].c)
  st[d].c = c;
 if(st[d].i != st[d].j) {
  if(x <= st[d].m)
   ins(st[d].l, x, c);
  else
   ins(st[d].r, x, c);
 }
}

int getmin(int d, int x, int y) {
 if(x <= st[d].i && y >= st[d].j)
  return st[d].c;
 int min = MAXINT;
 if(x <= st[d].m) {
  int now = getmin(st[d].l, x, y);
  if(now < min) min = now;
 }
 if(y > st[d].m) {
  int now = getmin(st[d].r, x, y);
  if(now < min) min = now;
 }
 return min;
}

int main() {
 int i, a, b;
 up = 0;
 scanf("%d %d ", &l, &n);
 bd(0, 1, l);
 ins(0, 1, 0);
 int max = 0;
 for(i = 0; i < n; ++i) {
  scanf("%d%d", &a, &b);
  if(a < b) {
   int min = getmin(0, a, b-1);
   ins(0, b, min+1);
  }
 }
 printf("%d\n", getmin(0, l, l));
 return 0;
}

Feedback

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2007-12-04 16:33 by je
題目沒(méi)看懂,能解釋下么?

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2007-12-05 11:47 by oyjpart
給定一個(gè)線段集,要求選擇其中一個(gè)最小的子集來(lái)覆蓋整個(gè)區(qū)域。
要求選定的子集是按照題目給的序來(lái)覆蓋。

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2008-01-18 08:46 by Littleye
很多測(cè)試好像得不到正確答案,例如:
40 4
10 30
14 29
25 30
30 40
答案應(yīng)該是2,你的程序給的是1000000000(你的初始值)
類似的例子還有不少

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2008-01-18 12:40 by oyjpart
你的樣例是無(wú)解的,沒(méi)有線段覆蓋【0,10】的區(qū)間。

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2008-01-19 02:33 by Littleye
I understand now. I don't think I understood the problem thoroughly before. Although the problem description doesn't clearly indicate that all the segments given should cover the whole segment(1,N), it is the right situation or else we can't get the right output from the maximizer. Now the problem description says that we can get the right output, so the subsequences given must cover the whole segments. Thanks a lot!

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2008-01-19 12:34 by oyjpart
you are welcome

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2008-04-18 10:44 by l-y-p
向大牛學(xué)習(xí)學(xué)習(xí),“運(yùn)用點(diǎn)樹(shù)可以解決”,好思想,很好很強(qiáng)大。但是還有一個(gè)疑點(diǎn):在DP的時(shí)候應(yīng)該從小到大進(jìn)行,但是沒(méi)發(fā)現(xiàn)你對(duì)y坐標(biāo)進(jìn)行排序就直接進(jìn)行,那如果是考慮這樣兩組數(shù)據(jù):
10 40
0 10
從10到40先確定到40的DP值為maxint+1,然后再由0~10確定10的值為1,這樣是不是有問(wèn)題??你的程序我沒(méi)調(diào)試過(guò),不曉得你是怎么處理的?

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2008-04-18 10:58 by l-y-p
果然啊,剛調(diào)試了下,直接運(yùn)行數(shù)據(jù):
40 2
10 40
0 10
結(jié)果是1000000000,不知道是我沒(méi)看清楚還是程序的bug?

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2008-04-18 12:19 by oyjpart
題目是有這樣的要求的:
要求選定的子集是按照題目給的序來(lái)覆蓋。
嘿嘿 如果我沒(méi)有理解錯(cuò)你的意思的話

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2008-04-18 22:02 by l-y-p
汗!
What is the length of the shortest subsequence of the given sequence of sorters
把排序一去掉就AC了,多謝大牛指點(diǎn),呵呵。
最先還一直在想如果可以排序的話就用不著用點(diǎn)樹(shù)了,直接貪心!

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2009-08-25 10:39 by demo
你的程序過(guò)不了zoj 2451

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2009-09-07 23:58 by oyjpart
題目是一樣的嗎

# re: pku1769 新寫的線段樹(shù)(點(diǎn)樹(shù))模版  回復(fù)  更多評(píng)論   

2010-12-01 20:36 by LSK
請(qǐng)仔細(xì)讀題。。。ZJU哪個(gè)是multi case的
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产高潮在线观看| 久久福利电影| 欧美激情精品久久久久| 老司机精品导航| 亚洲国产精品久久久久| 亚洲狠狠婷婷| 欧美视频一区二区三区四区| 亚洲在线观看免费| 午夜国产精品视频| 亚洲成人在线免费| 亚洲人在线视频| 国产精品久久久久久av福利软件 | 91久久综合| 国产精品久久国产精品99gif| 新67194成人永久网站| 久久久久看片| 在线视频欧美日韩精品| 性色av香蕉一区二区| 亚洲国产欧美一区二区三区久久| 亚洲精选视频免费看| 国产欧美日韩一区二区三区| 蜜桃av噜噜一区| 国产精品h在线观看| 久久综合狠狠| 国产精品v欧美精品v日韩 | 日韩亚洲欧美一区二区三区| 国产精品毛片a∨一区二区三区|国 | 国外成人在线视频网站| 亚洲三级视频在线观看| 国产日韩在线视频| 亚洲精品资源| 韩国av一区二区三区| 夜夜爽99久久国产综合精品女不卡| 国产一区二区在线观看免费播放| 亚洲第一视频网站| 黄色免费成人| 亚洲欧美美女| 亚洲在线观看| 欧美精品一区二区视频| 免费观看30秒视频久久| 国产精品视区| 一本到高清视频免费精品| 在线观看欧美日韩国产| 香蕉久久国产| 亚洲一区二区在线视频| 欧美国产第一页| 免费av成人在线| 国产自产v一区二区三区c| 一区二区三区视频观看| 日韩午夜黄色| 欧美福利视频| 欧美福利一区二区三区| 激情欧美一区二区| 欧美一区二区| 久久久91精品国产| 国产日韩一区二区三区在线播放| 洋洋av久久久久久久一区| 亚洲美女啪啪| 欧美日韩精品免费| 亚洲免费av片| 一本一本久久| 欧美日韩在线大尺度| 亚洲三级免费观看| 中文av字幕一区| 欧美午夜精品| 亚洲一区二区欧美日韩| 午夜激情亚洲| 国产视频自拍一区| 久久久久女教师免费一区| 麻豆精品视频在线观看| 亚洲国产成人精品女人久久久| 久久视频精品在线| 亚洲国产精品嫩草影院| 亚洲美女视频在线免费观看| 欧美激情在线观看| 一区二区久久久久| 久久爱www久久做| 1024国产精品| 欧美日韩1234| 午夜精品亚洲| 欧美成人国产| 中日韩高清电影网| 国产日韩亚洲| 欧美二区乱c少妇| 99国产精品久久| 欧美一区二区高清| 精品va天堂亚洲国产| 欧美乱大交xxxxx| 亚洲综合精品| 亚洲电影成人| 欧美一区91| 亚洲区第一页| 国产嫩草一区二区三区在线观看 | 好吊日精品视频| 欧美激情在线观看| 欧美一区二区三区在线| 亚洲高清不卡| 久久成人综合视频| 亚洲人成绝费网站色www| 国产精品h在线观看| 久久人人看视频| 亚洲与欧洲av电影| 欧美激情网友自拍| 久久er精品视频| 一本色道久久综合亚洲精品婷婷 | 亚洲日韩中文字幕在线播放| 国产精品免费视频xxxx| 免费在线观看一区二区| 国产精品99久久99久久久二8| 欧美1区视频| 久久精品欧美| 亚洲一区二区在线| 亚洲精品久久久久| 黄色国产精品| 国产欧美日韩亚洲精品| 欧美偷拍一区二区| 麻豆精品在线视频| 久久国产毛片| 亚洲欧美日韩一区二区| 一本久道综合久久精品| 亚洲第一精品福利| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲在线中文字幕| 一区二区三区视频观看| 亚洲国产一区在线观看| 国产一区在线播放| 国产欧美日韩综合| 国产精品国产三级欧美二区| 欧美精品国产一区| 欧美福利视频在线观看| 免费不卡中文字幕视频| 久久久久九九九| 久久黄色级2电影| 欧美尤物巨大精品爽| 亚洲男人第一网站| 亚洲一区二区三区免费在线观看| 亚洲精品中文字幕女同| 亚洲免费观看视频| 亚洲精品日本| 99www免费人成精品| 亚洲久色影视| 亚洲天堂男人| 亚洲欧美中文字幕| 亚洲欧美在线网| 欧美在线观看视频在线| 久久超碰97人人做人人爱| 欧美专区日韩专区| 久久亚洲色图| 欧美暴力喷水在线| 欧美日韩精品在线| 国产精品久久久久毛片软件| 国产精品私人影院| 国产专区欧美专区| 亚洲国产高清一区| 99国产精品视频免费观看| 亚洲深夜影院| 久久精品国产免费观看| 久久综合给合| 亚洲精品日韩精品| 亚洲自拍另类| 久久aⅴ国产紧身牛仔裤| 久久夜色精品| 欧美三级日韩三级国产三级| 国产欧美日韩视频一区二区三区| 狠狠干成人综合网| 日韩午夜免费| 欧美夜福利tv在线| 久久一区亚洲| 亚洲精品一级| 欧美一二三区精品| 欧美大片在线看| 国产精品区一区| 91久久国产综合久久| 亚洲特级片在线| 久热精品在线视频| 在线视频精品一区| 久久久噜噜噜久久狠狠50岁| 欧美日韩第一区| 国产一区二区三区四区| 一本色道**综合亚洲精品蜜桃冫| 午夜在线视频一区二区区别| 免费永久网站黄欧美| 一本色道久久综合| 久久综合久久久久88| 欧美日韩免费一区二区三区视频 | 国模吧视频一区| 99香蕉国产精品偷在线观看| 久久国产精品久久久久久久久久| 亚洲激情视频网| 久久精品国产一区二区三区| 欧美午夜精品久久久久久浪潮| 亚洲电影在线看| 久久激情婷婷| 亚洲视频高清| 欧美噜噜久久久xxx| 在线欧美日韩精品| 久久精品一区二区三区中文字幕| 夜夜爽99久久国产综合精品女不卡| 久久婷婷一区| 激情综合在线|