题目:

桌面上放了N个平行于坐标轴的矩形,这N个矩形可能有互相覆盖的部分,求它们组成的图形的面积。

在翻题目时,偶然发现了这道标号为WA的题目。

原来,以前我把一中培训的代码发了上去,却WA了4个点,因此失去信心。

仔细研究了代码,却无异样,这是标准的离散思想(这里不再展开)。

报了“试一试”的心情,我把其他数组类型也开了int64,结果竟然AC了!

仔细一想,我发现尽管数组在longint范围内(-10^8------10^8),但是在运算的时候(极大值和极小值相减)仍会越界,还是开大为好!

以下为代码:

  1. const
  2. max=101;
  3. var
  4. x1,x2,y1,y2:array[0..max] of int64;
  5. x,y,a,b:array[0..2*max] of int64;
  6. pop:boolean;
  7. h1,h2,i,j,k,n,h,t:longint;
  8. ans:qword;
  9. begin
  10.  
  11. readln(n);
  12. h:=0;
  13. for i:=1 to n do
  14. begin
  15. readln(x1[i],y1[i],x2[i],y2[i]);
  16. inc(h);
  17. x[h]:=x1[i];y[h]:=y1[i];
  18. inc(h);
  19. x[h]:=x2[i];y[h]:=y2[i];
  20. end;
  21. for i:=1 to h-1 do
  22. for j:=i+1 to h do
  23. if x[i]>x[j] then
  24. begin
  25. t:=x[i];
  26. x[i]:=x[j];
  27. x[j]:=t;
  28. end;
  29. for i:=1 to h-1 do
  30. for j:=i+1 to h do
  31. if y[i]>y[j] then
  32. begin
  33. t:=y[i];
  34. y[i]:=y[j];
  35. y[j]:=t;
  36. end;
  37. h1:=1;
  38. a[1]:=x[1];
  39. for i:=2 to h do
  40. if x[i]<>x[i-1] then
  41. begin
  42. inc(h1);
  43. a[h1]:=x[i];
  44. end;
  45. h2:=1;
  46. b[1]:=y[1];
  47. for i:=2 to h do
  48. if y[i]<>y[i-1] then
  49. begin
  50. inc(h2);
  51. b[h2]:=y[i];
  52. end;
  53. for i:=1 to h1-1 do
  54. for j:=1 to h2-1 do
  55. begin
  56. pop:=false;
  57. for k:=1 to ndo
  58. if (a[i]>=x1[k])and (a[i+1]<=x2[k]) and (b[j]>=y1[k]) and (b[j+1]<=y2[k])then
  59. begin
  60. pop:=true;
  61. break;
  62. end;
  63. if pop thenans:=ans+(b[j+1]-b[j])*(a[i+1]-a[i]);
  64. end;
  65. writeln(ans);
  66. end.

vijos1056题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

随机推荐

  1. SpringMVC 3.2集成Spring Security 3.2集成mybaties

    目录结构如下

  2. hexo摸爬滚打之进阶教程

    本文首发在我的个人博客:http://muyunyun.cn/ 写博客有三个层次,第一层次是借鉴居多的博文,第二层次是借鉴后经过消化后有一定量产出的博文,第三层次是原创好文居多的博文.在参考了大量前辈 ...

  3. VR全景智慧城市-提前进入商家观景,涵盖实体行业

    互联网发展的迅猛势头,让很多的实体商家翻了个大跟头,更有言说,未来的大街小巷根本见不到逛街的人,可是线上商城相继曝出的假货谁来买单?相比之下眼见为实更让消费者心里觉得踏实.所以,全景智慧城市更能满足大 ...

  4. 【小练习02】CSS--网易产品

    要求用css和HTML实现下图效果: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  5. Linux获取UUID

    Linux内核提供有UUID生成接口: cat /proc/sys/kernel/random/uuid Linux上一切皆文件,不管什么程序,读取文件就能获取一个UUID.

  6. 最短路径Floyd算法【图文详解】

    Floyd算法 1.定义概览 Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被 ...

  7. Vulkan Tutorial 14 Integration pipeline

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 我们现在整合前几章节的结构体和对象创建图形管线!以下是我们现在用到的对象类型,作为一 ...

  8. Spring学习(21)--- AOP之Advice应用(上)

    前置通知(Before advice) 在某个连接点(join point)之前执行的通知,但不能阻止连接点前的执行(除非它抛出异常) 返回后通知(After returning advice) 在某 ...

  9. php的数据访问和封装运用

    php数据访问: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  10. Ubuntu发行版升级

    从UK 13.10升级到UK 14.10 方法一: 1.sudo apt-get update   2.sudo update-manager -c -d   3.选择upgrade(升级)  方法二 ...