离散化求RECT1
本文转载至点击打开链接
#include<stdio.h>
struct node{
int x1,y1,x2,y2,c;
};
struct node s[1010];
int px[2010],py[2010],ux[10010],uy[10010],p[10000];
short a[2010][2010],c[2510];
int main(){
int i,j,k,m,n;
scanf("%d%d%d",&n,&m,&k);
for(i=1;i<=k;i++)
scanf("%d%d%d%d%d",&s[i].x1,&s[i].y1,&s[i].x2,&s[i].y2,&s[i].c);
for(i=1;i<=k;i++){
p[s[i].x1]=1;
p[s[i].x2]=1;
}
p[n]=1;
int sx=0,sy=0;
for(i=1;i<=n;i++){
if(p[i])px[++sx]=i;
ux[i]=sx;
}
for(i=1;i<=m;i++)p[i]=0;
for(i=1;i<=k;i++){
p[s[i].y1]=1;
p[s[i].y2]=1;
}
p[m]=1;
for(i=1;i<=m;i++){
if(p[i])py[++sy]=i;
uy[i]=sy;
}
for(i=1;i<=k;i++)
for(j=ux[s[i].x1];j<ux[s[i].x2];j++)
for(int t=uy[s[i].y1];t<uy[s[i].y2];++t)
a[j][t]=s[i].c; for(i=0;i<sx;i++)
for(j=0;j<sy;j++)
c[a[i][j]]+=(px[i+1]-px[i])*(py[j+1]-py[j]);
c[1]=c[0];
for(i=1;i<=2500;i++)
if(c[i])printf("%d %d\n",i,c[i]);
return 0;
}
离散化求RECT1的更多相关文章
- BZOJ 3289 Mato的文件管理(莫队+离散化求逆序数)
3289: Mato的文件管理 Time Limit: 40 Sec Memory Limit: 128 MB Submit: 2171 Solved: 891 [Submit][Status][ ...
- POJ 2299 树状数组+离散化求逆序对
给出一个序列 相邻的两个数可以进行交换 问最少交换多少次可以让他变成递增序列 每个数都是独一无二的 其实就是问冒泡往后 最多多少次 但是按普通冒泡记录次数一定会超时 冒泡记录次数的本质是每个数的逆序数 ...
- POJ 2299 Ultra-QuickSort (排序+数据离散化+求顺序数)
题意:给出一个序列,求至少需要用到多少次操作,才能将序列从小到大排序. 思路: 数据量很大,n<500000,所以用冒泡模拟是超时的. 接下来就想到了求顺序数,总共需要交换的次数为每个数后面有多 ...
- CF 61E 树状数组+离散化 求逆序数加强版 三个数逆序
http://codeforces.com/problemset/problem/61/E 题意是求 i<j<k && a[i]>a[j]>a[k] 的对数 会 ...
- HDU 1394 树状数组+离散化求逆序数
对于求逆序数问题,学会去利用树状数组进行转换求解方式,是很必要的. 一般来说我们求解逆序数,是在给定一串序列里,用循环的方式找到每一个数之前有多少个比它大的数,算法的时间复杂度为o(n2). 那么我们 ...
- POJ 1177 Picture(线段树 扫描线 离散化 求矩形并面积)
题目原网址:http://poj.org/problem?id=1177 题目中文翻译: 解题思路: 总体思路: 1.沿X轴离散化建树 2.按Y值从小到大排序平行与X轴的边,然后顺序处理 如果遇到矩形 ...
- POJ 2299 Ultra-QuickSort (树状数组+离散化 求逆序数)
In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a seque ...
- HDU 1542 Atlantis(线段树扫描线+离散化求面积的并)
Atlantis Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- hdu1255 覆盖的面积 线段树+里离散化求矩形面积的交
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 求矩形面积的交的线段树题目,刚做了求并的题目,再做这个刚觉良好啊,只要再加一个表示覆盖次数大于1 ...
随机推荐
- [CTSC1999]家园 分层图网络流_并查集
Code: #include<cstdio> #include<vector> #include<algorithm> #include<queue> ...
- LaTeX 简介与安装
1 LaTeX 简介 Leslie Lamport 开发的 LaTeX 是当今世界上最流行和使用最为广泛的TeX格式.它构筑在Plain TeX的基础之上,并加进了很多的功能以使得使用者可以更为方便的 ...
- Python学习第二天-编写三级菜单
编写三级菜单:1. 运行程序输出第一级菜单2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单3. 菜单数据保存在文件中4. 让用户选择是否要退出5. 有返回上一级菜单的功能 # Author: z ...
- 配置oh-my-zsh
1. 当使用zsh进入庞大的git工程目录下时,会发生cd命令很慢的情况 可以把~/.oh-my-zsh/lib/git.zsh里面的git_prompt_info函数替换为 function git ...
- 理解Swift中map 和 flatMap对集合的作用
map和flatMap是函数式编程中常见的概念,python等语言中都有.借助于 map和flapMap 函数可以非常轻易地将数组转换成另外一个新数组. map函数可以被数组调用,它接受一个闭包作为參 ...
- so near yet so far
Dear little yang So beautiful boy as you, the most beautiful boy is you who i ever saw, like a sun , ...
- iOS - 设置导航栏之标题栏居中、标题栏的背景颜色
本章实现效果: Untitled.gif 前言: 项目中很多需求是要求自定义标题栏居中的,本人最近就遇到这中需求,如果用系统自带的titleView设置的话,不会居中,经过尝试,发现titleview ...
- Thinkphp5.0怎么加载css和js
Thinkphp5.0怎么加载css和js 问题 http://localhost/手册上的那个{load href="/static/css/style.css" /} 读取不到 ...
- pyton写购物车
pyton写购物车 基本要求: 用户输入工资,然后打印购物菜单用户可以不断的购买商品,直到余额不够为止退出时打印用户已购买的商品和剩余金额.. 1.这个程序功能不完整,bug很多,练手之作. good ...
- Android框架-Volley(一)
1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...