博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codves 3044 矩形面积求并
阅读量:6602 次
发布时间:2019-06-24

本文共 1743 字,大约阅读时间需要 5 分钟。

codves  3044 矩形面积求并

 题目等级 : 钻石 Diamond
题目描述 Description

输入n个矩形,求他们总共占地面积(也就是求一下面积的并)

输入描述 Input Description

可能有多组数据,读到n=0为止(不超过15组)

每组数据第一行一个数n,表示矩形个数(n<=100)

接下来n行每行4个实数x1,y1,x2,y1(0 <= x1 < x2 <= 100000;0 <= y1 < y2 <= 100000),表示矩形的左下角坐标和右上角坐标

输出描述 Output Description

每组数据输出一行表示答案

样例输入 Sample Input
210 10 20 2015 15 25 25.50
样例输出 Sample Output
180.00 线段树+扫描线 本题解析参照黄学长博客
#include
#include
#include
using namespace std;int n,opl,opr,flag;int col[801];double hash[201],sum[1601],ans;struct node{ double x1,x2,h; int f;}e[202];bool cmp(node a,node b) {
return a.h
=opl&&r<=opr) { col[k]+=flag; up(k,l,r); return; } int m=l+r>>1; if(opl<=m) change(k<<1,l,m); if(opr>m) change((k<<1)+1,m+1,r); up(k,l,r);}int main(){ while(scanf("%d",&n)!=EOF) { if(!n) return 0; double x1,y1,x2,y2; for(int i=1;i<=n;i++) { scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2); e[i*2-1].x1=e[i*2].x1=x1; e[i*2-1].x2=e[i*2].x2=x2; e[i*2-1].h=y1;e[i*2].h=y2; hash[i*2-1]=x1;hash[i*2]=x2; e[i*2-1].f=1;e[i*2].f=-1; } sort(hash+1,hash+2*n+1); sort(e+1,e+2*n+1,cmp); ans=0; for(int i=1;i<=2*n;i++) { opl=lower_bound(hash+1,hash+2*n+1,e[i].x1)-hash; opr=lower_bound(hash+1,hash+2*n+1,e[i].x2)-hash-1; flag=e[i].f; change(1,1,2*n); ans+=sum[1]*(e[i+1].h-e[i].h); } printf("%.2lf\n",ans); }}

 

 

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/6363201.html

你可能感兴趣的文章
android多点触摸手势&手势库GestureLibraries
查看>>
EnglishAtWork
查看>>
普通开发千万不要使用mySql的MyISAM引擎否则你的事务管理就废了
查看>>
OSGI学习总结---Equinox各种命令
查看>>
SQL的四种连接-左外连接、右外连接、内连接、全连接
查看>>
手工生成mybatis的mapper文件中insert 和update语句
查看>>
Ubuntu 安装TeXLive 2018并完成宏包更新 (部分截图和代码为2016版本)
查看>>
JavaWeb应用开发架构浅谈
查看>>
cronolog日志分割
查看>>
ElasticSearch+Solr几个案例笔记
查看>>
程序中的@Override是什么意思?
查看>>
CentOS 编译安装Apache2.4 PHP5.6.30 Mysql5.6.16
查看>>
Visual SourceSafe 入门教学
查看>>
express 4.0以上的版本 express找不到的问题
查看>>
commons-lang中常用方法
查看>>
spring 定时任务
查看>>
thinkphp 路由规则终极详解(附伪静态)
查看>>
网络安全-加密算法
查看>>
This tag and its children can be replaced by ~~~
查看>>
XCode快捷键
查看>>