POJ2528 Mayor's posters
来源:互联网 发布:iphone airplay mac 编辑:程序博客网 时间:2024/09/21 08:51
区间线段树水题,离散化怒A= =
我觉得最后算答案哪里应该不用再单独算的= =
好吧,虽然A了,但是我的算法写错了= =
31 101 36 10这组数据就不对。
应该是把每个数据的+1还有-1也都离散化一下,在做就对了,可是据说这样反而会过不了= =
#include <cstdio>#include <cstring>#include <cstdlib>#include <ctime>#include <climits>#include <cmath>#include <iostream>#include <string>#include <vector>#include <set>#include <map>#include <list>#include <queue>#include <stack>#include <deque>#include <algorithm>using namespace std;typedef long long ll;#define lhs rt<<1#define rhs rt<<1|1const int maxn = 20010;int T, n, l[maxn], r[maxn], ans;int val[maxn*4], lazy[maxn*4];vector<int> num;int tot;map<int, int> dic;bool vis[maxn];void update(int x, int rt, int L, int R){ lazy[rt] = x; val[rt] = x;}void query(int ql, int qr, int x, int rt = 1, int L = 1, int R = tot){if (ql <= L && R <= qr){ update(x, rt, L, R); return;}int M = (L+R) >> 1;if (lazy[rt]){ update(lazy[rt], lhs, L, M); update(lazy[rt], rhs, M+1, R); lazy[rt] = 0;}if (ql <= M) query(ql, qr, x, lhs, L, M);if (qr > M) query(ql, qr, x, rhs, M+1, R);}void init(int rt = 1, int L = 1, int R = tot){ val[rt] = 0; lazy[rt] = 0;if (L == R) return;int M = (L+R) >> 1;init(lhs, L, M);init(rhs, M+1, R);}void dfs(int rt = 1, int L = 1, int R = tot){ if (L == R){ vis[val[rt]] = 1; return;}int M = (L+R) >> 1;if (lazy[rt]){ update(lazy[rt], lhs, L, M); update(lazy[rt], rhs, M+1, R); lazy[rt] = 0;}dfs(lhs, L, M);dfs(rhs, M+1, R);}int main(){ scanf("%d", &T); while (T--) { scanf("%d", &n); num.clear(); for (int i=1;i<=n;i++) { scanf("%d%d", &l[i], &r[i]); num.push_back(l[i]); num.push_back(r[i]); } sort(num.begin(), num.end()); num.erase(unique(num.begin(), num.end()), num.end()); tot = num.size(); dic.clear(); for (int i=0;i<tot;i++) dic[num[i]] = i+1; init(); for (int i=1;i<=n;i++) query(dic[l[i]], dic[r[i]], i); memset(vis, 0, sizeof(vis)); dfs(); ans = 0; for (int i=1;i<=n;i++) if (vis[i]) ans++; printf("%d\n", ans); }return 0;}
- POJ2528 Mayor's posters
- POJ2528 Mayor's posters
- poj2528 Mayor's posters
- POJ2528 Mayor's posters
- POJ2528 Mayor's posters
- POJ2528--Mayor's posters
- POJ2528 Mayor's posters
- POJ2528 Mayor's posters
- POJ2528 Mayor's posters
- poj2528-Mayor's posters
- poj2528 Mayor's posters
- poj2528 Mayor's posters
- poj2528 Mayor's posters
- poj2528 Mayor's posters
- POJ2528 Mayor's posters
- POJ2528 Mayor's posters
- poj2528 Mayor’s posters
- poj2528 Mayor's Posters
- mysql定时执行-mysql event事件
- DIV+CSS设计时浏览器兼容性问题
- NFS详解
- IE特有的CSS写法
- 某知名存储公司的几道面试题目
- POJ2528 Mayor's posters
- 数据库设计准则(第一、第二、第三范式说明)------即数据库设计经典三范式!
- Js最常用的55个技巧
- Flex Viewer开发初学
- Go语言开发工具LiteIDE
- 《火球——UML大战需求分析》(第3章 分析业务模型-类图)——3.8 小结与练习
- 队列的实现
- gdb 查看core文件时的一些操作
- 红帽集群套件RHCS四部曲(实战篇)