【BZOJ1502】【NOI2005】月下柠檬树 simpson 积分
特别提醒:eps至少要5e-6
首先我们来研究下平行光对投影的影响。
一个二维的图形,若它与光屏平行,那么不论平行光与光屏的夹角为多少,所得图形与原图形全等的(只是位置会有影响)
通过这么一分析,我们将原图形无限切片,并且投影到光屏上去,会发现阴影可以用很多很多个圆的面积并来表示。
这样做显然是T的,我们进行冷静分析(雾)。通过分析得出,阴影为n个圆,n个直角梯形,和一个三角形的并。(如图所示)
在处理的时候,我们可以把三角形当梯形处理。

然后就是愉快地Simpson啦~~~~
#include<bits/stdc++.h>
#define eps 5e-6
#define INF 19260817
#define M 505
using namespace std;
double cx[M]={},cr[M]={};
double lx[M]={},rx[M]={},ly[M]={},ry[M]={};
int n; double f(double x){
double maxn=;
for(int i=;i<=n;i++){
double deltax=abs(x-cx[i]);
if(deltax>cr[i]) continue;
double y=sqrt(cr[i]*cr[i]-deltax*deltax);
maxn=max(maxn,y);
}
for(int i=;i<n;i++)
if(lx[i]<=x&&x<=rx[i]){
double k=(x-lx[i])/(rx[i]-lx[i]);
double y=ly[i]+k*(ry[i]-ly[i]);
maxn=max(maxn,y);
}
return maxn;
} double get(double l,double r){
double mid=(l+r)/;
return (r-l)*(f(l)+*f(mid)+f(r))/;
} double simpson(double l,double r){
double mid=(l+r)/;
double ans1=get(l,r);
double ans2=get(l,mid)+get(mid,r);
if(fabs(ans2-ans1)<eps) return ans2;
return simpson(l,mid)+simpson(mid,r);
} int main(){
double l=INF,r=-INF,alpha;
cin>>n>>alpha; n++;
double tana=tan(alpha);
for(int i=;i<=n;i++){
double hh; scanf("%lf",&hh);
hh=hh/tana;
cx[i]=cx[i-]+hh;
}
for(int i=;i<=n;i++){
if(i!=n)scanf("%lf",cr+i);
l=min(l,cx[i]-cr[i]);
r=max(r,cx[i]+cr[i]);
}
for(int i=;i<n;i++){
double a=cx[i+]-cx[i];
double b=cr[i+]-cr[i];
double sita=acos(-b/a);
lx[i]=cx[i]+cos(sita)*cr[i];
ly[i]= sin(sita)*cr[i];
rx[i]=cx[i+]+cos(sita)*cr[i+];
ry[i]= sin(sita)*cr[i+];
}
double hh=simpson(l,r);
printf("%.2lf\n",hh*);
}
【BZOJ1502】【NOI2005】月下柠檬树 simpson 积分的更多相关文章
- 【BZOJ1502】[NOI2005]月下柠檬树 Simpson积分
[BZOJ1502][NOI2005]月下柠檬树 Description 李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔地照亮地面上的景物时,他必会悠闲地坐在他亲手植下的那棵柠檬树 ...
- BZOJ 1502: [NOI2005]月下柠檬树 [辛普森积分 解析几何 圆]
1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1070 Solved: 596[Submit][Status] ...
- [NOI2005]月下柠檬树(计算几何+积分)
题目描述 李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔 地照亮地面上的景物时,他必会悠闲地坐在他亲手植下的那棵柠檬树旁,独自思 索着人生的哲理. 李哲是一个喜爱思考的孩子,当他看 ...
- [日常摸鱼]bzoj1502[NOI2005]月下柠檬树-简单几何+Simpson法
关于自适应Simpson法的介绍可以去看我的另一篇blog http://www.lydsy.com/JudgeOnline/problem.php?id=1502 题意:空间里圆心在同一直线上且底面 ...
- BZOJ 1502 月下柠檬树(simpson积分)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1502 题意:给出如下一棵分层的树,给出每层的高度和每个面的半径.光线是平行的,与地面夹角 ...
- BZOJ1502: [NOI2005]月下柠檬树
Simpson法相当好用啊!神奇的骗分算法! /************************************************************** Problem: 1502 ...
- 【BZOJ-1502】月下柠檬树 计算几何 + 自适应Simpson积分
1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1017 Solved: 562[Submit][Status] ...
- [NOI2005]月下柠檬树[计算几何(simpson)]
1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1169 Solved: 626[Submit][Status] ...
- [NOI2005]月下柠檬树
题意 F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ ModifyUser autoint Logout 捐赠本站 Probl ...
随机推荐
- Devexpress VCL Build v2013 vol 13.2.5 发布
支持xe6 了,但是承诺的功能在哪里? What's New in 13.2.5 (VCL Product Line) New Major Features in 13.2 What's New ...
- BeanUtils.populate的方法的作用
BeanUtils位于org.apache.commons.beanutils.BeanUtils下面,其方法populate的作用解释如下: 完整方法: BeanUtils.populate( Ob ...
- 自学如何去学习jQuery
学习JQ第一个demo: 制作一个轮播图,制作方法我前面写了一篇博客,传送门-->http://www.cnblogs.com/yewenxiang/p/6100206.html 需要的JQ知识 ...
- UVa 508 Morse Mismatches (模糊暴力)
题意:莫尔斯电码,输入若干个字母的Morse编号,一个字典和若干编码.对于每个编号,判断它可能的是哪个单词, 如果有多个单词精确匹配,输出第一个单词并加一个“!”:如果无法精确匹配,那么在编码尾部增加 ...
- SPSS—回归—二元Logistic回归案例分析
数据分析真不是一门省油的灯,搞的人晕头转向,而且涉及到很多复杂的计算,还是书读少了,小学毕业的我,真是死了不少脑细胞, 学习二元Logistic回归有一段时间了,今天跟大家分享一下学习心得,希望多指教 ...
- 知识:CSS 词汇表(中英对照)_CSS Vocabulary
注释(Comment) 语句(Statement) 规则集(Rule-set) At 规则(At-rule) 媒体查询(Media query) 媒体查询列表(Media query list) 媒体 ...
- 201709012工作日记--activity与service的通信机制
service生命周期 Service主要包含本地类和远程类. Service不是Thread,Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 ...
- Get同步请求
//同步get请求 // NSURL: iOS 中的URL存储类,可存储网址或者文件路径 NSString *urlString = @"http://api.map. ...
- 最大连续子序列 -- hdu -- 1231
http://acm.hdu.edu.cn/showproblem.php?pid=1231 最大连续子序列 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- What Is Your Grade?
Problem Description “Point, point, life of student!”This is a ballad(歌谣)well known in colleges, and ...