题目:

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

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

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

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

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

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

以下为代码:

const
  max=101;
var
  x1,x2,y1,y2:array[0..max] of int64;
  x,y,a,b:array[0..2*max] of int64;
  pop:boolean;
  h1,h2,i,j,k,n,h,t:longint;
  ans:qword;
begin

  readln(n);
  h:=0;
  for i:=1 to n do
    begin
     readln(x1[i],y1[i],x2[i],y2[i]);
      inc(h);
     x[h]:=x1[i];y[h]:=y1[i];
      inc(h);
     x[h]:=x2[i];y[h]:=y2[i];
    end;
  for i:=1 to h-1 do
    for j:=i+1 to h do
      if x[i]>x[j] then
        begin
          t:=x[i];
         x[i]:=x[j];
          x[j]:=t;
        end;
  for i:=1 to h-1 do
    for j:=i+1 to h do
      if y[i]>y[j] then
        begin
          t:=y[i];
         y[i]:=y[j];
          y[j]:=t;
        end;
  h1:=1;
  a[1]:=x[1];
  for i:=2 to h do
    if x[i]<>x[i-1] then
      begin
        inc(h1);
        a[h1]:=x[i];
      end;
  h2:=1;
  b[1]:=y[1];
  for i:=2 to h do
    if y[i]<>y[i-1] then
      begin
        inc(h2);
        b[h2]:=y[i];
      end;
  for i:=1 to h1-1 do
    for j:=1 to h2-1 do
      begin
        pop:=false;
        for k:=1 to ndo
          if (a[i]>=x1[k])and (a[i+1]<=x2[k]) and (b[j]>=y1[k]) and (b[j+1]<=y2[k])then
           begin
             pop:=true;
             break;
           end;
        if pop thenans:=ans+(b[j+1]-b[j])*(a[i+1]-a[i]);
      end;
  writeln(ans);
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. Embedding R-generated Interactive HTML pages in MS PowerPoint(转)

    Usually when I create slide decks these days I used markdown and slidy.  However, I recently was ask ...

  2. HttpClien Get&Post

    新公司上班第二周,开始进军.Net Core,这方面的东西比较新,所以已经封装好的东西比较少,比如HttpClien之类的开源类库,找了NuGet好久,没有找到,所以先写个简陋的来用着先. 引用: u ...

  3. 微信小程序封装http访问网络库实例代码

    之前都是使用LeanCloud为存储,现在用传统API调用时做如下封装 var HOST = 'http://localhost/lendoo/public/index.php/'; // 网站请求接 ...

  4. shell脚本中$参数的介绍

    $$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表.如&quo ...

  5. JavaFx TableView疑难详解

    TableView是个十分有用的控件,适应性和灵活性非常强,可以对它进行任意的修改,比如界面样式.功能.本文将从一步步提问的方式讲解TableView 创建已知列的TableView 已知列的表格的创 ...

  6. PHPstrom的Disable Power Save Mode

    1.安装好phpstorm之后 发现代码高亮和函数自动提示都失效了 网上有人说可能是Power save mode的原因开始没找到这个设置在哪 后来在底部面板的信息提示处发现有一条系统消息: 17:0 ...

  7. 链表插入和删除,判断链表是否为空,求链表长度算法的,链表排序算法演示——C语言描述

    关于数据结构等的学习,以及学习算法的感想感悟,听了郝斌老师的数据结构课程,其中他也提到了学习数据结构的或者算法的一些个人见解,我觉的很好,对我的帮助也是很大,算法本就是令人头疼的问题,因为自己并没有学 ...

  8. ubuntu下配置Apache+mod_wsgi+Django项目(个人测试)

    经过了一个星期的摸索,查找资料以及实验,我搭建的环境基本能用(还有就是Django后台的静态文件加载的问题) 这里面只是介绍一下我的过程,因为对应Apache还不是很熟练,特别是配置文件.只能供大家参 ...

  9. Unity3D常用 API 之实例化与销毁

    1.实例化游戏物体 1.1.游戏中的案例介绍 在很多 MMORPG 类的游戏中都有类似于“金钱副本”的副本关卡.在这类副 本中通常都是限定一个时间,在这个时间内玩家可以尽情的破坏,然后收集金钱. 分析 ...

  10. [0] AssemblyInfo.cs文件介绍

    AssemblyInfo.cs文件:包含程序版本.信息.版权的属性文件 先介绍AssemblyInfo.cs文件中的程序集属性 内容: using System.Reflection;using Sy ...