(树状数组+离散化)lines--hdu --5124
http://acm.hdu.edu.cn/showproblem.php?pid=5124
lines
Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1362 Accepted Submission(s): 566
Each test case begins with an integer N(1≤N≤105),indicating the number of lines.
Next N lines contains two integers Xi and Yi(1≤Xi≤Yi≤109),describing a line.
#include<stdio.h>
#include<string.h> #define N 1100000
#define max(a,b) (a>b?a:b) int a[N]; int main()
{
int T; scanf("%d", &T); while(T--)
{
int n, i, L, R; scanf("%d", &n);
memset(a, , sizeof(a)); for(i=; i<=n; i++)
{
scanf("%d%d", &L, &R);
a[L] ++;
a[R+] --;
} int Max = a[], sum=a[]; for(i=; i<N; i++)
{
sum += a[i];
Max = max(Max, sum);
} printf("%d\n", Max);
} return ;
}
水过代码
下面两个代码都是用了离散化, 但是其实我并不怎么懂离散化, 只懂了一点点, 继续学习吧!!!
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
#define N 201000 struct node
{
int L, R;
}a[N]; int b[N], V[N]; int main()
{
int T; scanf("%d", &T); while(T--)
{
int i, L, R, n, k=; scanf("%d", &n); memset(a, , sizeof(a));
memset(b, , sizeof(b));
memset(V, , sizeof(V)); for(i=; i<n; i++)
{
scanf("%d%d", &a[i].L, &a[i].R);
b[k++] = a[i].L;
b[k++] = a[i].R;
} sort(b, b+k); int z = unique(b, b+k)-b; for(i=; i<n; i++)
{
L = lower_bound(b, b+z, a[i].L) - b;
R = lower_bound(b, b+z, a[i].R) - b;
V[L]++;
V[R+]--;
} int sum=V[], Max = V[];
for(i=; i<N; i++)
{
sum += V[i];
Max = max(Max, sum);
} printf("%d\n", Max);
}
return ;
}
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <map> using namespace std; #define N 200005 struct node
{
int L, R;
}a[N]; int V[N], b[N]; map<int, int>dic; int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int i, j, k=, n, L, R; scanf("%d", &n); memset(a, , sizeof(a));
memset(V, , sizeof(V));
memset(b, , sizeof(b)); for(i=; i<n; i++)
{
scanf("%d%d", &a[i].L, &a[i].R);
b[k++] = a[i].L;
b[k++] = a[i].R;
} sort(b, b+k);
j=;
for(i=; i<k; i++)
{
if(i==)
dic[b[i]]=j++;
else if(b[i]!=b[i-])
dic[b[i]]=j++;
} for(i=; i<n; i++)
{
L = dic[a[i].L];
R = dic[a[i].R];
V[L]++;
V[R+]--;
} int Max = V[], sum = V[]; for(i=; i<N; i++)
{
sum += V[i];
Max = max(Max, sum);
} printf("%d\n", Max);
}
return ;
}
(树状数组+离散化)lines--hdu --5124的更多相关文章
- hdu4605 树状数组+离散化+dfs
Magic Ball Game Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- POJ 2299 【树状数组 离散化】
题目链接:POJ 2299 Ultra-QuickSort Description In this problem, you have to analyze a particular sorting ...
- BZOJ_5055_膜法师_树状数组+离散化
BZOJ_5055_膜法师_树状数组+离散化 Description 在经历过1e9次大型战争后的宇宙中现在还剩下n个完美维度, 现在来自多元宇宙的膜法师,想偷取其中的三个维度为伟大的长者续秒, 显然 ...
- HDU 4325 Flowers 树状数组+离散化
Flowers Problem Description As is known to all, the blooming time and duration varies between differ ...
- HDU 4325 Flowers(树状数组+离散化)
http://acm.hdu.edu.cn/showproblem.php?pid=4325 题意:给出n个区间和m个询问,每个询问为一个x,问有多少个区间包含了x. 思路: 因为数据量比较多,所以需 ...
- HDU 2227 Find the nondecreasing subsequences (DP+树状数组+离散化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2227 Find the nondecreasing subsequences ...
- HDU 5256 - 序列变换 ,树状数组+离散化 ,二分法
Problem Description 我们有一个数列A1,A2...An,你现在要求修改数量最少的元素,使得这个数列严格递增.其中无论是修改前还是修改后,每个元素都必须是整数.请输出最少需要修改多少 ...
- HDU 5792 World is Exploding(树状数组+离散化)
http://acm.split.hdu.edu.cn/showproblem.php?pid=5792 题意: 思路: lmin[i]:表示左边比第i个数小的个数. lmax[i]:表示左边比第i个 ...
- hdu 5877 Weak Pair dfs序+树状数组+离散化
Weak Pair Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Prob ...
随机推荐
- Vue 初始化多个Vue 及之间的相互修改
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Linux移植之内核启动过程start_kernel函数简析
在Linux移植之内核启动过程引导阶段分析中从arch/arm/kernel/head.S开始分析,最后分析到课start_kernel这个C函数,下面就简单分析下这个函数,因为涉及到Linux的内容 ...
- html与css关系
1.html是网页的内容的载体 内容是作者发在页面想让用户浏览的信息,包括文字,图片,视频等 2.css样式是表现 像网页的外衣,比如标题字体的变化,颜色的变化,背景颜色,边框等,所有这些都是用来改变 ...
- DtCMS 在IIS7.0 下之伪静态
1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式: 2)部署好站点,并将此站点的应用程序池设置为nettest; ...
- 改变dos的编码方式
chcp 936 改变成 gbk chcp 65001 改成 utf-8 删除MySqlite文件 generic_x86:/data/data/com.example.lifen.sqlite/da ...
- Site.ForProductsOfApple
1. cultofmac http://www.cultofmac.com/ 2. imore http://www.imore.com/ 3. osxdaily http://osxdaily.co ...
- R语言读取Hive数据表
R通过RJDBC包连接Hive 目前Hive集群是可以通过跳板机来访问 HiveServer, 将Hive 中的批量数据读入R环境,并进行后续的模型和算法运算. 1. 登录跳板机后需要首先在Linux ...
- Spring PropertyResolver 占位符解析(二)源码分析
Spring PropertyResolver 占位符解析(二)源码分析 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) ...
- 秒懂 this
一:全局执行 console.log(this); // Window 可以看出在全局作用域中 this 指向当前的全局对象 Window. 二:函数中执行 1.非严格模式中 function fun ...
- Reduce 和 Transduce 的含义
一.reduce 的用法 reduce是一种数组运算,通常用于将数组的所有成员"累积"为一个值. var arr = [1, 2, 3, 4]; var sum = (a, b) ...