[BZOJ1502][NOI2005]月下柠檬树(辛普森积分+解析几何)

该博客介绍了如何利用辛普森积分和解析几何解决NOI2005中的一道题目。通过理解投影性质,将树转化为树高与cot(α)乘积的形式,再结合圆的方程和公切线方程,形成连续函数。然后应用辛普森积分公式进行近似计算,通过递归检查精度来求解图形的面积。博客最后给出了实现代码。
摘要由CSDN通过智能技术生成

题目:

我是超链接

题解:

首先我们理解一下投影的性质,也就是投影出来的图形一定跟原图形全等。
考虑一下圆形投影下来是什么呢?和原来一样的圆形啊

怎么转化竖着的树呢?
这里写图片描述

也就是树高*cot(α)

那么我们所要求的就是一些圆形和一些等腰梯形面积并

样例图片是这样的
这里写图片描述

那么运用计算几何的知识就可以得到圆的方程和圆的公切线的方程,然后得到一个连续的函数(这样用辛普森积分的时候就不必考虑将整个图形拆成若干个一坨一坨的图形再求积分)。最后这个题就成为一个函数的解析式,这个函数关于x轴对称,求这个函数与X轴之间的面积,因为对称,*2就行了

微积分啊。

套用辛普森积分:Simpson(l,r) = (F(l) + F(r) + F(mid) * 4) * (r - l) / 6.0,然后递归检查精度,如果左值+右值-总值的绝对值小于精度就返回,否则就递归返回左侧面积和右侧面积。得到一个近似精确的值就是所求的答案。

辛普森积分:不能求出精确解,但是可以近似地求出一些微积分不能够求解的图像的面积。

代码:

#include <cmath>
#include <cstdio>
#include <iostream>
using namespace
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值