离散化——HDOJ 1199
来源:互联网 发布:淘宝房产中介 编辑:程序博客网 时间:2024/06/07 01:15
HDOJ 1199 Color the Ball
/*HDOJ 1199先离散化,然后再搜索最长的白色区间只存白色区间,是黑的时候,处理过程要将各种情况分清楚。本体看起来就是可以用区间树的,可惜我还不会咯*/#include <iostream>#include <algorithm>using namespace std;struct white{int x;int y;}s[3000];bool cmp(white a,white b){if(a.x != b.x)return (a.x<b.x);elsereturn (a.y<b.y);}int main(){int N,a,b,i,j,temp,len,num;int ansa,ansb,anslen;char c;while(cin>>N){num=0;for(i=0;i<3000;i++){s[i].x = -1;s[i].y = -1;}for(i=0;i<N;i++){cin>>a>>b>>c;if(c == 'w'){s[num].x=a;s[num].y=b;num++;}else{temp=num;for(j=0;j<temp;j++){if((a <= s[j].x)&&(b >= s[j].y)){s[j].x=-1;s[j].y=-1;}else if((a <= s[j].x)&&(b >= s[j].x)&&(b <= s[j].y))s[j].x=b+1;else if((a >= s[j].x)&&(a <= s[j].y)&&(b >= s[j].y))s[j].y=a-1;else if((a >= s[j].x)&&(b <= s[j].y)){s[num].x=b+1;s[num].y=s[j].y;s[j].y=a-1;num++;}}}}sort(s,s+num,cmp);len=-1;anslen=-1;ansa=-1;ansb=-1;for(i=0;i<num;i++){if(s[i].x >= -1){a=s[i].x;b=s[i].y;len=b-a+1;i++;for(;i<num;i++){if(s[i].x <= (b+1)) //这里要为b+1,保证连续性{if(b < s[i].y)b=s[i].y;len=b-a+1;}else{if(len > anslen){ansa=a;ansb=b;anslen=len;}a=s[i].x;b=s[i].y;len=b-a+1;}}if(len > anslen){ansa=a;ansb=b;anslen=len;}break;}}if(anslen == -1)cout<<"Oh, my god"<<endl;elsecout<<ansa<<" "<<ansb<<endl;}return 0;}
- 离散化——HDOJ 1199
- HDOJ 4325 —— 树状数组 + 离散化
- 离散化—vector
- HDOJ 5178 - pairs 离散化+树状数组..
- hdoj 4911 Inversion 树状数组+离散化
- HDOJ 5124 lines 【线段树 & 离散化】
- hdoj 5124 lines 【离散化 + 线段树】
- 【HDOJ】 Picture (离散化+线段树)
- [线段树+离散化+单点查询] HDOJ - 4325 Flowers
- HDOJ 2492 Ping pong 线段树+离散化
- HDOJ 4185 - Oil Skimming 离散化后二分图匹配...
- hdoj 4358 树的线性化,树状数组,离散化
- HDOJ 5372 Segment Game 树状数组+离散化
- hdoj 2883 kebab 【时间区间离散化 + 最大流】
- HDOJ 题目4325 Flowers(线段树+离散化)
- HDOJ 4456 Crowd 离散化+二维树状数组
- hdoj 3450 Counting Sequences 【离散化 + 树状数组优化dp】
- HDOJ 题目2836 Traversal(线段树,离散化,DP)
- Using WM_COPYDATA
- 有关import sun.audio.AudioPlayer(或者其它文件)的问题
- php+jQuery+ajax网页验证码
- UC浏览器8.2 Build20120204发布正式版手机浏览器
- UC浏览器
- 离散化——HDOJ 1199
- Eclipse写一半抽风了,Tomcat关不掉,占着8080,8090端口不拉屎怎么办?
- FileMerge
- 深入理解计算机系统 - 练习题 - 第三章 (练习题3.32)
- poster add on
- 深入理解计算机系统 - 练习题 - 第三章(练习题3.33)
- 【线段树延迟更新】HDU 3275
- Android Loader详解四:回调及完整例子
- JS排除frame影响的跳转