ZOJ 1610
来源:互联网 发布:nginx 多tomcat配置 编辑:程序博客网 时间:2024/06/05 17:19
#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>#include <vector>#include <queue>#include <stack>using namespace std;const int MAXN = 8000 + 10;struct Tree{ int l, r; int val;}tree[MAXN<<2];int color[MAXN];void build(int l, int r,int rt){ tree[rt].l = l; tree[rt].r = r; tree[rt].val = -1; if(l == r) return ; int m = (l + r) >> 1; build(l, m, rt<<1); build(m + 1, r, rt<<1|1);}void update(int l, int r, int c, int rt){ if(tree[rt].l == l && tree[rt].r == r) { tree[rt].val = c; return ; } if(tree[rt].val != -1) { tree[rt<<1].val = tree[rt].val; tree[rt<<1|1].val = tree[rt].val; tree[rt].val = -1; } int m = (tree[rt].l + tree[rt].r) >> 1; if(r <= m) update(l, r, c, rt<<1); else if(l > m) update(l, r, c, rt<<1|1); else { update(l, m, c, rt<<1); update(m + 1, r, c, rt<<1|1); }}int ans[MAXN];void Query(int rt, int l, int r){ if(tree[rt].l == tree[rt].r) { ans[l] = tree[rt].val; return ; } int m = (l + r) >> 1; if(tree[rt].val != -1) { tree[rt<<1].val = tree[rt<<1|1].val = tree[rt].val; tree[rt].val = -1; } Query(rt<<1, l, m); Query(rt<<1|1, m + 1, r);}int main(){ int N; while(scanf("%d", &N)!=EOF) { int l, r, val; int M = 0; build(1, 8001, 1); for(int i=1;i<=N;i++) { scanf("%d%d%d", &l, &r, &val); if(l > r) swap(l, r); update(l+1, r, val, 1); M = max(M, val); } memset(color, 0, sizeof(color)); memset(ans, -1, sizeof(ans)); Query(1, 1, 8001); for(int i=1;i<=8001;i++) { if(ans[i] != -1 && ans[i] != ans[i-1]) color[ans[i]]++; } for(int i=0;i<=8001;i++) if(color[i]) printf("%d %d\n", i, color[i]); printf("\n"); } return 0;}
0 0
- ZOJ 1610
- zoj 1610
- ZOJ 1610
- ZOJ 1610
- zoj--1610
- zoj 1610
- [ZOJ] 1610
- zoj 1610 线段树
- zoj 1610 线段树
- ZOJ 1610 解题报告
- ZOJ ACM 1610(JAVA)
- ZOJ 1610 线段树
- ZOJ-1610(区间染色)
- zoj 1610 线段树
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- 2012,再回首。出错了
- 黑马程序员——Java面试题银行调度系统
- C 将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)
- ArcSight upload poc
- VB.NET连接sql server数据库
- ZOJ 1610
- 最短路(hdu2544)Dijkstra算法二
- 盐水的故事(hdu1408)
- Linux 文件权限详解 含义和修改和安全
- Dijkstra和Prim算法的区别
- C 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- Hashmat the brave warrior(UVa10055)简单题
- MapReduce:详解Shuffle过程
- 签offer前的注意事项 - 求职综合区(讨论及Offer汇总) - 应届生求职招聘论坛 - Powered by Discuz! ----