• HihoCoder1652 : 三角形面积和2([Offer收割]编程练习赛38)(几何)(不会几何,占位)


    描述

    如下图所示,在X轴上方一共有N个三角形。这些三角形的底边与X轴重合,底边上两个顶点的坐标分别是(Li, 0)和(Ri, 0),底边的对顶点坐标是(Xi, Yi)。其中Li ≤ Xi ≤ Ri 且 Li < Ri。

    你能求出这些三角形覆盖的面积之和吗? (重叠部分只算一次)

    输入

    第一行包含一个整数N。(1 ≤= N ≤ 100)    

    以下N行每行包含4个整数Li, Ri, Xi, Yi。(1 ≤ Li < Ri ≤ 100000 且 Xi ∈ [Li, Ri], 1 <= Yi ≤ 100000)

    输出

    覆盖的面积,保留2位小数。

    样例输入

    2  
    1 4 3 3  
    3 6 4 3

    样例输出

    8.25

    想法:

    在c程课上问同桌这道题(一个不搞ACM的同学,我也是试一试的态度,因为我晓得我的几何是最差的TT)。然而,他提供了很多方案(在不考虑是否方便用计算机程序实现的情况下),给跪了。其中我觉得好实现的是如下方案:

    •  首先,找出轮廓(下面的曲线),算出大多边形面积。
    • 找出轮廓里的黑色三级形(没有覆盖的地方),算出黑色三角形的面积。
    • 做差。
    •  具体的大多边形的面积又可以分解为小三角形来计算(我只会这个)。
    • 三角形之间的关系无非是不相交,相交,和包含。上面的思路都可以搞定。

    我觉得这方法ok,具体的实现还得吃饱了再思考。

    update:https://www.cnblogs.com/hua-dong/p/11494021.html

  • 相关阅读:
    jekins接通gitee的webhook做自动部署 vue、react、java、springBoot
    vue可复用性 & 组合
    vite使用短链接
    Ubuntu12.04(X86_64)上安装Mesa8.0.4
    回调函数
    c#隐式转换
    OpenGL ES2 的OffScreen实现
    Catch exception from other thread
    C# []、List、Array、ArrayList 区别及应用
    redhat update
  • 原文地址:https://www.cnblogs.com/hua-dong/p/8126882.html
Copyright © 2020-2023  润新知