CF1846D Rudolph and Christmas Tree 题解

因为 \(n\) 个三角形有重叠部分,所以我们可以倒序处理每个三角形,并对其进行分类讨论:

  • 若当前三角形编号为 \(n\),则直接将总面积加上 \(\dfrac{d \times h}{2}\)

  • 否则,再次分出两种情况:

    • 若当前三角形的 \(y_i + h > y_{i+1}\)(即编号为 \(i,i+1\) 的三角形有重叠),则如下图所示:

    红色部分为重叠部分,则有 \(nh=y_i+h-y_{i+1}\),根据 \(\dfrac{nh}{h}=\dfrac{nd}{d}\)(因为两个三角形互为相似三角形,所以底和高都是同比例放大的),可知 \(nd=d \times \dfrac{nh}{h}\)

    • 否则,直接将总面积加上 \(\dfrac{d \times h}{2}\)

注意强制类型转换为 long double,且输出时至少需要保留小数点后 \(6\) 位。

\(code\)

posted @   _XOFqwq  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示