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

數(shù)據(jù)加載中……

URAL 1019 A line painting

A Line painting

Time Limit: 2.0 second
Memory Limit: 16 MB
The segment of numerical axis from 0 to 109 is painted into white color. After that some parts of this segment are painted into black, then some into white again and so on. In total there have been made N re-paintings (1 ≤ N ≤ 5000). You are to write a program that finds the longest white open interval after this sequence of re-paintings.

Input

The first line of input contains the only number N. Next N lines contain information about re-paintings. Each of these lines has a form:
ai bi ci
where ai and bi are integers, ci is symbol 'b' or 'w', ai, bi, ci are separated by spaces.
This triple of parameters represents repainting of segment from ai to bi into color ci ('w' — white, 'b' — black). You may assume that 0 < ai < bi < 109.

Output

Output should contain two numbers x and y (x < y) divided by space(s). These numbers should define the longest white open interval. If there are more than one such an interval output should contain the one with the smallest x.

Sample

input output
4
1 999999997 b
40 300 w
300 634 w
43 47 b
47 634                                                        
這個(gè)題目最直接的辦法是離散化,離散化了之后就好折騰了,因?yàn)椴僮髦噶詈苌?所以我選擇離散+樸素染色.
復(fù)雜度上界為O(M*M),這里M表示離散化后得到的區(qū)間個(gè)數(shù).

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 const int MAXN=10005;
 5 const int MAXL=1000000000;
 6 struct re
 7 {
 8   int a,b;
 9   char c;
10 }op[MAXN];
11 
12 int n,p=0,que[MAXN];
13 bool color[MAXN<<1];
14 
15 /* 二分查找 */
16 int find(int num)
17 {
18   int l=0,r=p+1,mid;
19   while (r-l>1)
20     {
21       mid=(l+r) >> 1;
22       (que[mid]<=num)? l=mid : r=mid;
23       if (que[l]==num) return l;
24     }
25   return l;
26 }
27 
28 void disp(re& op)
29 {
30   /* 區(qū)間由1開(kāi)始數(shù),而不是由0開(kāi)始 */
31   op.a=find(op.a)+1;
32   op.b=find(op.b);
33 }
34 
35 void mark(int l,int r,char c)
36 {
37   for (int i=l;i<=r;++i) color[i]=(c=='b');
38 }
39 
40 int main()
41 {
42  // freopen("data.in","r",stdin);
43  // freopen("data.out","w",stdout);
44   cin >> n;
45   for (int i=0;i<n;++i)
46     {
47       cin >> op[i].a >> op[i].b >> op[i].c;
48       que[++p]=op[i].a;
49       que[++p]=op[i].b;
50     }
51   que[++p]=MAXL;
52   /* 刪除重復(fù)出現(xiàn)的數(shù)字 */
53   int rp=0;
54   for (int i=1;i<=p;++i)
55     if (que[rp]!=que[i]) que[++rp]=que[i];
56   p=rp;
57   /* 排序,便于定位和離散化 */
58   sort(que,que+p+1);
59   que[p+1]=MAXL+1;
60   /* 對(duì)操作進(jìn)行離散處理 */
61   for (int i=0;i<n;++i) disp(op[i]);
62   /* 處理操作序列 */
63   memset(color,0,sizeof(color));
64   for (int i=0;i<n;++i) mark(op[i].a,op[i].b,op[i].c);
65   int t=1,a,b,mlen=0;
66   for (int i=2;i<=p+1;++i)
67     if (color[i]!=color[t] || i>p)
68       { 
69     if ((!color[t]) && (que[i-1]-que[t-1]>mlen)) { a=que[t-1];b=que[i-1];mlen=que[i-1]-que[t-1];}
70     t=i;
71       }
72   cout << a << ' ' << b << endl;
73   //system("pause");
74   return 0;
75 }
76 
個(gè)別目標(biāo)遠(yuǎn)大的同學(xué)可能并不僅僅是想解決這個(gè)題目,這時(shí)候建議你使用離散化+線段樹(shù),復(fù)雜度會(huì)大大地降低

posted on 2009-07-20 15:00 Chen Jiecao 閱讀(443) 評(píng)論(0)  編輯 收藏 引用 所屬分類: URAL


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            欧美精品色综合| 亚洲高清激情| 亚洲欧洲一区二区在线观看| 国产精品久久久一区二区| 亚洲第一色中文字幕| 国产视频精品va久久久久久| 日韩视频永久免费| 亚洲靠逼com| 久久综合导航| 蜜臀av在线播放一区二区三区| 国产精品久久久久久久久动漫| 亚洲精品免费在线| 亚洲国产精品高清久久久| 久久精品综合网| 久久久精品性| 国产一区二区av| 亚洲欧美卡通另类91av| 性一交一乱一区二区洋洋av| 国产精品成人va在线观看| 亚洲美女啪啪| 一区二区三区四区五区精品| 欧美激情中文字幕乱码免费| 亚洲国产婷婷| 一区二区三区高清不卡| 欧美日韩精品免费看| 亚洲欧洲在线免费| 亚洲视频第一页| 欧美视频日韩视频| 亚洲视频在线免费观看| 性欧美video另类hd性玩具| 国产精品久久久亚洲一区| 亚洲一本视频| 久久精品国产欧美亚洲人人爽| 国产午夜精品视频| 久久久99久久精品女同性| 麻豆91精品| 亚洲人成绝费网站色www| 欧美大片一区| 9人人澡人人爽人人精品| 午夜精品福利电影| 国产一区二区三区无遮挡| 翔田千里一区二区| 美女啪啪无遮挡免费久久网站| 亚洲成色www8888| 欧美精品播放| 亚洲欧美日韩国产中文在线| 久久午夜激情| 亚洲精品资源| 国产精自产拍久久久久久| 久久精品2019中文字幕| 亚洲第一精品福利| 亚洲免费婷婷| 樱桃成人精品视频在线播放| 欧美激情视频免费观看| 亚洲一区二区精品在线| 女仆av观看一区| 亚洲天堂久久| 影音先锋亚洲一区| 欧美三区不卡| 久久手机免费观看| 亚洲一区二区三区涩| 蜜臀久久99精品久久久久久9| 在线视频精品一| 国产日韩精品久久| 欧美日韩亚洲网| 久久久蜜桃精品| 在线视频免费在线观看一区二区| 久久人人97超碰国产公开结果 | 老妇喷水一区二区三区| 亚洲三级影院| 久久亚洲精品中文字幕冲田杏梨| 一区二区三区欧美亚洲| 激情文学综合丁香| 国产精品美女视频网站| 欧美高清成人| 欧美在线播放高清精品| 一本色道久久综合亚洲精品小说 | 欧美一区二区视频在线| 亚洲精品乱码久久久久久| 久久亚洲春色中文字幕久久久| 亚洲视频中文字幕| 亚洲激情女人| 黄色成人在线网址| 国产精品一区二区你懂的| 欧美日韩精品二区| 免费亚洲网站| 久久精品三级| 欧美一区二区三区在线免费观看| 亚洲毛片播放| 亚洲国产精品免费| 男人的天堂成人在线| 久久精品一区| 久久riav二区三区| 亚洲一区中文| 亚洲无限av看| 亚洲视频图片小说| 99精品视频一区二区三区| 亚洲国产精品va在线看黑人 | 亚洲天堂免费在线观看视频| 亚洲人午夜精品免费| 亚洲电影在线看| 一色屋精品视频在线看| 韩国一区二区三区美女美女秀| 国产精品夜夜嗨| 国产精品视频免费一区| 国产精品久久中文| 国产精品区免费视频| 国产精品入口麻豆原神| 国产精品区一区二区三区| 欧美私人啪啪vps| 国产精品国产福利国产秒拍| 国产精品久久久久久久久久免费 | 欧美亚洲综合网| 欧美一区二区三区免费观看| 香蕉成人伊视频在线观看| 欧美一级专区免费大片| 久久99伊人| 免费av成人在线| 亚洲国产成人av| 亚洲毛片在线观看.| 一区二区三区久久网| 亚洲综合大片69999| 久久精品国产一区二区三| 久热精品在线| 欧美日韩一区精品| 国产日韩欧美综合一区| 亚洲成人资源网| 一二三区精品福利视频| 欧美一级播放| 另类综合日韩欧美亚洲| 亚洲国产高清一区二区三区| 日韩亚洲精品视频| 欧美一级久久久| 欧美成人日韩| 国产精品乱码一区二区三区| 国产亚洲综合精品| 亚洲毛片av在线| 欧美专区日韩视频| 欧美丰满高潮xxxx喷水动漫| 99re这里只有精品6| 欧美亚洲日本网站| 欧美精品导航| 国产亚洲精品久久久久久| 亚洲日韩欧美视频| 欧美一区二区高清| 亚洲欧洲精品一区| 久久er精品视频| 欧美三级视频在线| 精品福利av| 亚洲欧美成人精品| 亚洲承认在线| 午夜欧美精品久久久久久久| 欧美1区2区| 国产一区二区久久久| 在线亚洲国产精品网站| 久久综合99re88久久爱| 国产精品99久久久久久人| 久热精品在线视频| 国产日韩一区| 一区二区黄色| 亚洲大片免费看| 久久av最新网址| 国产乱码精品| 亚洲视频一区二区免费在线观看| 美国十次成人| 亚洲专区免费| 国产精品福利av| 99视频+国产日韩欧美| 免费成人小视频| 欧美在线观看视频一区二区| 欧美日韩中文字幕日韩欧美| 亚洲欧洲日本国产| 久久亚洲图片| 久久疯狂做爰流白浆xx| 国产精品国产| 亚洲一区二区三区在线观看视频 | 一区二区三区欧美亚洲| 欧美mv日韩mv国产网站| 激情亚洲网站| 久久久欧美一区二区| 亚洲欧美精品在线观看| 国产精品久久久久一区二区| 中文在线不卡视频| 亚洲乱码国产乱码精品精天堂| 欧美岛国在线观看| 亚洲人成亚洲人成在线观看| 欧美阿v一级看视频| 久久永久免费| 91久久久久久久久| 亚洲福利一区| 欧美精品在线观看91| 9久草视频在线视频精品| 亚洲精品少妇网址| 欧美日韩精品一区二区三区四区| 亚洲九九精品| 一本色道88久久加勒比精品| 欧美日韩在线直播| 亚洲欧美在线另类| 欧美伊久线香蕉线新在线| 好看的日韩视频|