array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 BZOJ1502:[NOI2005]月下柠檬树——题解 - 爱码网

https://www.lydsy.com/JudgeOnline/problem.php?id=1502

https://www.luogu.org/problemnew/show/P4207

李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔地照亮地面上的景物时,他必会悠闲地坐在他亲手植下的那棵柠檬树旁,独自思索着人生的哲理。李哲是一个喜爱思考的孩子,当他看到在月光的照射下柠檬树投在地面上的影子是如此的清晰,马上想到了一个问题:树影的面积是多大呢?李哲知道,直接测量面积是很难的,他想用几何的方法算,因为他对这棵柠檬树的形状了解得非常清楚,而且想好了简化的方法。李哲将整棵柠檬树分成了n 层,由下向上依次将层编号为1,2,…,n。从第1到n-1 层,每层都是一个圆台型,第n 层(最上面一层)是圆锥型。对于圆台型,其上下底面都是水平的圆。对于相邻的两个圆台,上层的下底面和下层的上底面重合。第n 层(最上面一层)圆锥的底面就是第n-1 层圆台的上底面。所有的底面的圆心(包括树顶)处在同一条与地面垂直的直线上。李哲知道每一层的高度为h1,h2,…,hn,第1 层圆台的下底面距地面的高度为h0,以及每层的下底面的圆的半径r1,r2,…,rn。李哲用熟知的方法测出了月亮的光线与地面的夹角为alpha。
BZOJ1502:[NOI2005]月下柠檬树——题解
 
为了便于计算,假设月亮的光线是平行光,且地面是水平的,在计算时忽略树干所产生的影子。
李哲当然会算了,但是他希望你也来练练手。

参考:https://www.luogu.org/blog/ACdreamer/solution-p4207

超级细节之计算几何题。

面积的并选择用自适应辛普森求,我们只取x轴以上的部分,最后答案*2即可。

于是我们需要做到给定x求y,就需要求出这一坨投射的阴影的每个部分的函数(圆的部分可以用几何求y)。

于是需要求出圆的公切线的解析式。

首先对于高度h,投射后的长度为cota*h,圆的大小没有改变。

然后就是贴心的两张图了,根据这两张图,再结合你的初中几何知识,相信你一定能推出来的!

BZOJ1502:[NOI2005]月下柠檬树——题解

BZOJ1502:[NOI2005]月下柠檬树——题解

#include<cmath>
#include<queue>
#include<cstdio>
#include<cctype>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef double dl;
const int N=510;
const dl eps=1e-8;
struct cir{
    dl x,r;
}p[N];
struct line{
    dl k,b,l,r;
}q[N];
int n;
dl alpha;
inline dl py(dl a,dl b){return sqrt(a*a-b*b);}
inline dl f(dl x){
    dl ans=0;
    for(int i=1;i<=n;i++){
        if(p[i].x-p[i].r<x&&x<p[i].x+p[i].r){
            ans=max(ans,py(p[i].r,x-p[i].x));
        }
    }
    for(int i=1;i<n;i++){
        if(q[i].l<=x&&x<=q[i].r){
            ans=max(ans,q[i].k*x+q[i].b);
        }
    }
    return ans;
}
inline dl simpson(dl l,dl r){
    dl mid=(l+r)/2;
    return (f(l)+4*f(mid)+f(r))*(r-l)/6;
}
inline dl asr(dl l,dl r,dl ans){
    dl mid=(l+r)/2;
    dl l1=simpson(l,mid),r1=simpson(mid,r);
    if(fabs(l1+r1-ans)<eps)return l1+r1;
    return asr(l,mid,l1)+asr(mid,r,r1);
}
inline int shadow(dl a){
    dl c=a*alpha;
    dl d=sqrt(a*a+c*c);
    return c*a/d;
}
inline void getl(int x,int y){
    if(fabs(p[x].r-p[y].r)<eps){
        q[x].l=p[x].x,q[x].r=p[y].x;
        q[x].k=0;q[x].b=p[x].r;
        return;
    }
    dl CA=p[y].x-p[x].x,AJ=fabs(p[x].r-p[y].r);
    dl CG=p[x].r,AB=p[y].r;
    dl CK=CG*AJ/CA,AI=AB*AJ/CA;
    if(p[x].r>p[y].r){
        q[x].l=p[x].x+CK;q[x].r=p[y].x+AI;
        dl x1=q[x].l,y1=py(CG,CK);
        dl x2=q[x].r,y2=py(AB,AI);
        q[x].k=(y1-y2)/(x1-x2);
        q[x].b=y1-q[x].k*x1;
    }else{
        q[x].l=p[x].x-CK;q[x].r=p[y].x-AI;
        dl x1=q[x].l,y1=py(CG,CK);
        dl x2=q[x].r,y2=py(AB,AI);
        q[x].k=(y1-y2)/(x1-x2);
        q[x].b=y1-q[x].k*x1;
    }
}
int main(){
    scanf("%d%lf",&n,&alpha);
    alpha=1.0/tan(alpha);
    for(int i=1;i<=n+1;i++){
        scanf("%lf",&p[i].x);
        p[i].x*=alpha;
        p[i].x+=p[i-1].x;
    }
    for(int i=1;i<=n;i++)scanf("%lf",&p[i].r);
    p[++n].r=0;
    for(int i=1;i<n;i++){
        getl(i,i+1);
    }
    dl l=p[1].x-p[1].r,r=p[n].x;
    for(int i=1;i<=n;i++){
    r=max(r,(p[i].x+p[i].r));
    l=min(l,(p[i].x-p[i].r));
    }
    printf("%.2lf\n",2*asr(l,r,simpson(l,r)));
    return 0;
}

+++++++++++++++++++++++++++++++++++++++++++

 +本文作者:luyouqi233。               +

 +欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+

+++++++++++++++++++++++++++++++++++++++++++

相关文章: