日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開(kāi)源 > php教程 > ZOJ 1610 Count the Colors(線段樹(shù)lazy+暴力統(tǒng)計(jì))

ZOJ 1610 Count the Colors(線段樹(shù)lazy+暴力統(tǒng)計(jì))

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-03-06 09:03:20 閱讀次數(shù):2777次
Count the Colors

Time Limit: 2 Seconds      Memory Limit: 65536 KB

Painting some colored segments on a line, some previously painted segments may be covered by some the subsequent ones.

Your task is counting the segments of different colors you can see at last.


Input

The first line of each data set contains exactly one integer n, 1 <= n <= 8000, equal to the number of colored segments.

Each of the following n lines consists of exactly 3 nonnegative integers separated by single spaces:

x1 x2 c

x1 and x2 indicate the left endpoint and right endpoint of the segment, c indicates the color of the segment.

All the numbers are in the range [0, 8000], and they are all integers.

Input may contain several data set, process to the end of file.


Output

Each line of the output should contain a color index that can be seen from the top, following the count of the segments of this color, they should be printed according to the color index.

If some color can't be seen, you shouldn't print it.

Print a blank line after every dataset.


Sample Input

5
0 4 4
0 3 1
3 4 2
0 2 2
0 2 3
4
0 1 1
3 4 1
1 3 2
1 3 1
6
0 1 0
1 2 1
2 3 1
1 2 0
2 3 0
1 2 1


Sample Output

1 1
2 1
3 1

1 1

0 2
1 1


具體做法就是區(qū)間更新的時(shí)候lazy操作,端點(diǎn)統(tǒng)計(jì)的時(shí)候暴力,。

#include<cstdio> #include<cstring> #include<algorithm> #include<vector> #include<string> #include<iostream> #include<queue> #include<cmath> #include<map> #include<stack> #include<bitset> using namespace std; #define REPF( i , a , b ) for ( int i = a ; i <= b ; ++ i ) #define REP( i , n ) for ( int i = 0 ; i < n ; ++ i ) #define CLEAR( a , x ) memset ( a , x , sizeof a ) typedef long long LL; typedef pair<int,int>pil; const int maxn=8000+10; int sum[maxn<<2]; int cnt,n; int col[maxn],ans[maxn]; void pushdown(int rs) { if(sum[rs]!=⑴) { sum[rs<<1]=sum[rs<<1|1]=sum[rs]; sum[rs]=⑴; } } void update(int x,int y,int c,int l,int r,int rs) { if(l>=x&&r<=y) { sum[rs]=c; return ; } pushdown(rs); int mid=(l+r)>>1; if(x<=mid) update(x,y,c,l,mid,rs<<1); if(y>mid) update(x,y,c,mid+1,r,rs<<1|1); } void solve(int l,int r,int rs) { if(l==r) { col[cnt++]=sum[rs]; return ; } pushdown(rs); int mid=(l+r)>>1; solve(l,mid,rs<<1); solve(mid+1,r,rs<<1|1); } int main() { int l,r,x; while(~scanf("%d",&n)) { cnt=0; CLEAR(sum,⑴); CLEAR(ans,0); int m=8000; REP(i,n) { scanf("%d%d%d",&l,&r,&x); update(l,r⑴,x,0,m,1); } solve(0,m,1); REP(i,cnt) { int j=i+1; if(col[i]!=⑴) ans[col[i]]++; while(col[j]==col[i]&&j<cnt) j++; i=j⑴; } for(int i=0;i<=maxn;i++)//for色彩種類 if(ans[i]) printf("%d %d ",i,ans[i]); puts(""); } return 0; }


生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久99精品久久久久久秒播放器 | 精品粉嫩aⅴ一区二区三区四区 | 国产精品久久久久久中文字 | 久久精品视频一区 | 久久福利网 | 成人免费高清 | 成人h视频在线观看 | 精品国产一区二区三区免费 | 麻豆99| 久久精品视频在线观看 | 国产经典一区二区三区 | 日韩久久片 | 精品一区视频 | 日韩精品电影在线观看 | 国产黄色大片 | 99精品欧美一区二区蜜桃免费 | 黄网站在线免费看 | 欧美一级xxx| 欧美日韩免费看片 | 久久夜色精品国产 | 日韩av手机在线 | 一区在线观看视频 | 国产视频在线一区二区 | 国产精品系列在线 | 国产精品欧美一区二区三区 | 亚洲精品电影在线 | 啪啪网免费| 中文字幕3区| av免费网| 国产精品日韩在线观看 | www一区| www高清| 国产精品com | 日韩欧美色图 | av大片 | 色一乱一伦一图一区二区精品 | 成人精品一区二区户外勾搭野战 | 免费精品国产的网站免费观看 | 伊人色综合网 | 999一区二区三区 | 毛片视频大全 |