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\) 位。
 
                    
                

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号