【POJ】2528 Mayor's posters
离散化+线段树。
数组开的不够大,wa了N多回。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; #define MAXN 12010
#define lson l, mid, rt<<1
#define rson mid+1, r, rt<<1|1 int ls[MAXN], rs[MAXN];
int nums[MAXN<<];
int buf[MAXN*], cnt;
char set[MAXN]; inline int bin(int x, int n) {
int l = , r = n-;
int mid; while (l <= r) {
mid = (l+r)>>;
if (buf[mid] == x)
return mid;
if (buf[mid] < x)
l = mid+;
else
r = mid-;
} return -;
}
/*
void build(int l, int r, int rt) {
nums[rt] = 0;
if (l == r)
return ;
int mid = (l+r)>>1;
build(lson);
build(rson);
}*/ inline void PushDown(int rt) {
if ( nums[rt] ) {
nums[rt<<] = nums[rt<<|] = nums[rt];
nums[rt] = ;
}
} void update(int ll, int rr, int c, int l, int r, int rt) {
if (ll<=l && rr>=r) {
nums[rt] = c;
return ;
}
PushDown(rt);
int mid = (l+r)>>;
if (ll <= mid)
update(ll, rr, c, lson);
if (rr > mid)
update(ll, rr, c, rson);
} void query(int l, int r, int rt) {
if ( nums[rt] ) {
if ( !set[nums[rt]] )
++cnt;
set[nums[rt]] = ;
return ;
}
if (l == r)
return ;
int mid = (l+r)>>;
query(lson);
query(rson);
} int main() {
int case_n, n, m;
int i, j, ll, rr; scanf("%d", &case_n); while (case_n--) {
scanf("%d", &n);
m = ;
for (i=; i<=n; ++i) {
scanf("%d %d", &ls[i], &rs[i]);
buf[m++] = ls[i];
buf[m++] = rs[i];
}
sort(buf, buf+m);
j = ;
for (i=; i<m; ++i) {
if (buf[i] != buf[i-])
buf[j++] = buf[i];
}
m = j;
for (i=m-; i>; --i) {
if (buf[i] != buf[i-]+)
buf[m++] = buf[i-]+;
}
sort(buf, buf+m);
//build(0, m, 1);
memset(nums, , sizeof(nums));
memset(set, , sizeof(set));
for (i=; i<=n; ++i) {
ll = bin(ls[i], m);
rr = bin(rs[i], m);
update(ll, rr, i, , m, );
}
cnt = ;
query(, m, );
printf("%d\n", cnt);
} return ;
}
【POJ】2528 Mayor's posters的更多相关文章
- 【POJ】2528 Mayor's posters ——离散化+线段树
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Description The citizens of Bytetown, A ...
- POJ 2528 Mayor's posters 【区间离散化+线段树区间更新&&查询变形】
任意门:http://poj.org/problem?id=2528 Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total S ...
- poj 2528 Mayor's posters(线段树+离散化)
/* poj 2528 Mayor's posters 线段树 + 离散化 离散化的理解: 给你一系列的正整数, 例如 1, 4 , 100, 1000000000, 如果利用线段树求解的话,很明显 ...
- poj 2528 Mayor's posters 线段树+离散化技巧
poj 2528 Mayor's posters 题目链接: http://poj.org/problem?id=2528 思路: 线段树+离散化技巧(这里的离散化需要注意一下啊,题目数据弱看不出来) ...
- POJ - 2528 Mayor's posters(dfs+分治)
POJ - 2528 Mayor's posters 思路:分治思想. 代码: #include<iostream> #include<cstdio> #include< ...
- POJ.2528 Mayor's posters (线段树 区间更新 区间查询 离散化)
POJ.2528 Mayor's posters (线段树 区间更新 区间查询 离散化) 题意分析 贴海报,新的海报能覆盖在旧的海报上面,最后贴完了,求问能看见几张海报. 最多有10000张海报,海报 ...
- 【POJ】1704 Georgia and Bob(Staircase Nim)
Description Georgia and Bob decide to play a self-invented game. They draw a row of grids on paper, ...
- 【POJ】1067 取石子游戏(博弈论)
Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...
- POJ 2528——Mayor's posters——————【线段树区间替换、找存在的不同区间】
Mayor's posters Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Sub ...
随机推荐
- 多目标遗传算法 ------ NSGA-II (部分源码解析) 快速排序代码 sort.c
/* Routines for randomized recursive quick-sort */ # include <stdio.h> # include <stdlib.h& ...
- Java-hibernate的映射文件
Hibernate 需要知道怎样去加载(load)和存储(store)持久化类的对象.这正是 Hibernate 映 射文件发挥作用的地方.映射文件告诉 Hibernate 它应该访问数据库(data ...
- C# 反射之属性操作
一.反射-类操作 //1.获取对象所有的属性名 Student stu = new Student(); //获取当前类名称 Console.WriteLine(stu.GetType().Name) ...
- ideadpad-安装win7
今天帮一个同学的朋友安装win7, 竟然安不上,很久没有出现安不上系统了, 后来发现他的笔记本是新的类型,预先注意事项为: 1,启动的时候,使用 Fn+F2进入 BIOS. 2,将Boot中的Boot ...
- C# 跨线程调用问题
纠结了好久,终于知道了winform和WPF的UI的跨线程调用的解决方法: winform下如果为了省事,可以直接禁用跨线程检查: Control.CheckForIllegalCrossThread ...
- Oracle学习第三讲
关联查询 笛卡尔积 指做关联操作的每个表的每一行都和其他表的每一行组合,假设两个表的记录条数分别为x和y,笛卡尔积将返回x*y条记录 例如:select count(*) from emp; sele ...
- CI 笔记 easyui 结合后,左侧导航跳转问题
1. 在进行时,还没有做完整个项目时,可能不是最终稿 2. 从数据库中nav表中,读出url地址,然后,从admin中,重写这些url跳转 3. 在admin的控制器中,跳转写的并不完美, publi ...
- CSS 导航栏
实例: 导航栏 Home News Articles Forum Contact About 导航栏 熟练使用导航栏,对于任何网站都非常重要. 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜 ...
- 小知识 Vector的枚举 和foreach的用法
package com.java.c.votetor.www; import java.util.Enumeration;import java.util.Iterator;import java.u ...
- Java之网络请求工具类(依赖:org.apache.http;注:HttpClient 4.4,HttpCore 4.4)
到此处可以去下载依赖包:http://hc.apache.org/downloads.cgi import java.util.List; import org.apache.http.HttpSta ...