hdu 1255 覆盖的面积 (Bruceforce)
暴力统计覆盖超过一次的区域。1y。
代码如下:
#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <set> using namespace std; typedef pair<double, int> PDBI;
multiset<PDBI> pos;
#define MPR make_pair
#define FI first
#define SE second
const int N = ;
double rec[N][]; struct Mark {
double x1, x2, y;
bool end;
Mark() {}
Mark(double x1, double x2, double y, bool end) :
x1(x1), x2(x2), y(y), end(end) {}
bool operator < (Mark x) const { return y < x.y;}
} mk[N << ]; int main() {
int n, T;
cin >> T;
while (T-- && cin >> n) {
for (int i = ; i < n; i++) {
for (int j = ; j < ; j++) {
cin >> rec[i][j];
}
if (rec[i][] > rec[i][]) swap(rec[i][], rec[i][]);
if (rec[i][] > rec[i][]) swap(rec[i][], rec[i][]);
mk[i << ] = Mark(rec[i][], rec[i][], rec[i][], false);
mk[i << | ] = Mark(rec[i][], rec[i][], rec[i][], true);
}
sort(mk, mk + (n << ));
pos.clear();
if (mk[].end) {
puts("WTF?!!");
while () {}
}
pos.insert(MPR(mk[].x1, ));
pos.insert(MPR(mk[].x2, -));
multiset<PDBI>::iterator msi;
double area = 0.0;
for (int i = , end = n << ; i < end; i++) {
msi = pos.begin();
int cnt = ;
double last, sum = 0.0;
while (msi != pos.end()) {
double fi = (*msi).FI;
int se = (*msi).SE;
if (se > ) {
cnt++;
if (cnt == ) last = fi;
} else {
cnt--;
if (cnt == ) sum += fi - last;
}
msi++;
}
area += sum * (mk[i].y - mk[i - ].y);
if (mk[i].end) {
pos.erase(pos.find(MPR(mk[i].x1, )));
pos.erase(pos.find(MPR(mk[i].x2, -)));
} else {
pos.insert(MPR(mk[i].x1, ));
pos.insert(MPR(mk[i].x2, -));
}
}
if (pos.size()) {
puts("shit!");
while () {}
}
printf("%.2f\n", area);
}
return ;
}
——written by Lyon
hdu 1255 覆盖的面积 (Bruceforce)的更多相关文章
- hdu 1255 覆盖的面积(线段树 面积 交) (待整理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 Description 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. In ...
- hdu 1255 覆盖的面积(求覆盖至少两次以上的面积)
了校赛,还有什么途径可以申请加入ACM校队? 覆盖的面积 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- HDU - 1255 覆盖的面积(线段树求矩形面积交 扫描线+离散化)
链接:线段树求矩形面积并 扫描线+离散化 1.给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. 2.看完线段树求矩形面积并 的方法后,再看这题,求的是矩形面积交,类同. 求面积时,用被覆 ...
- hdu 1255 覆盖的面积 (线段树处理面积覆盖问题(模板))
http://acm.hdu.edu.cn/showproblem.php?pid=1255 覆盖的面积 Time Limit: 10000/5000 MS (Java/Others) Memo ...
- HDU 1255 覆盖的面积(线段树+扫描线)
题目地址:HDU 1255 这题跟面积并的方法非常像,仅仅只是须要再加一个变量. 刚開始我以为直接用那个变量即可,仅仅只是推断是否大于0改成推断是否大于1.可是后来发现了个问题,由于这个没有下放,没延 ...
- hdu 1255 覆盖的面积 (扫描线求矩形交)
覆盖的面积 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- HDU 1255 覆盖的面积 ( 扫描线 + 离散 求矩阵大于k次面积并 )
覆盖的面积 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- HDU 1255 覆盖的面积(线段树:扫描线求面积并)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 题目大意:给你若干个矩形,让你求这些矩形重叠两次及以上的部分的面积. 解题思路:模板题,跟HDU ...
- HDU 1255 覆盖的面积 (线段树+扫描线+离散化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 题意很清楚,就是让你求矩阵之间叠加层数大于1的矩形块的面积和. 因为n只有1000,所以我离散化 ...
随机推荐
- 洛谷P3795 钟氏映射
P3795 钟氏映射 题目背景 2233年,CSSYZ学校的数学老师兼数学竞赛顾问钟JG已经2200+岁啦! 为了庆生,他或她给广大人民群众出了道题. 题目描述 设集合 设为到的映射. 求满足: 的不 ...
- web标准中定义id与class有什么区别吗
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x ...
- Vue项目中出现Loading chunk {n} failed问题的解决方法
最近有个Vue项目中会偶尔出现Loading chunk {n} failed的报错,报错来自于webpack进行code spilt之后某些bundle文件lazy loading失败.但是这个问题 ...
- day38 15-Spring的配置文件引入的问题
配置文件内容过多修改起来维护起来很麻烦.Struts 2可以在总的配置文件中引入其他的配置文件.这是一种办法.第二种办法在加载配置文件的时候,里面可以一次性传多个. <?xml version= ...
- org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.trs.om.bean.User.retryCount
六月 29, 2019 5:42:45 下午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache To ...
- 目录中的pwd、cd及ls命令
1.pwd命令(确定当前所在目录) pwd命令以绝对路径的方式显示用户当前工作目录.命令将当前目录的全路径名称(从根目录)写入标准输出.全部目录使用/分隔.第一个/表示根目录,最后一个目录是当前目录. ...
- ESP8266 支持浮点运算吗?
ESP8266 支持浮点运算吗? 可以说支持,也可以说不支持. 说不支持的原因是因为 ESP8266 内部没有 FPU,无法使用硬件计算. 说支持的意思是可以使用软件进行浮点运算,但是会很慢很慢,如果 ...
- 2018-8-29-Roslyn-通过-Target-修改编译的文件
title author date CreateTime categories Roslyn 通过 Target 修改编译的文件 lindexi 2018-08-29 09:10:46 +0800 2 ...
- Symmetric Tree 深度优先搜索
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...
- AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】
AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...