zoukankan      html  css  js  c++  java
  • HDU 6362.oval-and-rectangle-数学期望、微积分 (2018 Multi-University Training Contest 6 1001)

    2018 Multi-University Training Contest 6

    6362.oval-and-rectangle

    题意就是椭圆里画内接矩形,问你矩形周长的期望。

    比赛的时候推了公式,但是草稿纸丢了,直接看代码吧,和官方题解的公式有点不一样,但是有官方题解就差不多了。

    注意:acos(-1.0)=asin(1.0)=π,其他的就没了,具体的怎么推的也懒得再推一遍了。

    比赛的时候,我推的公式,队友算期望,忘了/b,一直不对,后来写上ans/=b;过了。。。

    官方题解:

    代码:

     1 //1001-6362-概率-微积分
     2 #include<iostream>
     3 #include<cstdio>
     4 #include<cstring>
     5 #include<algorithm>
     6 #include<bitset>
     7 #include<cassert>
     8 #include<cctype>
     9 #include<cmath>
    10 #include<cstdlib>
    11 #include<ctime>
    12 #include<deque>
    13 #include<iomanip>
    14 #include<list>
    15 #include<map>
    16 #include<queue>
    17 #include<set>
    18 #include<stack>
    19 #include<vector>
    20 using namespace std;
    21 typedef long long ll;
    22 
    23 const double PI=acos(-1.0);
    24 const double eps=1e-6;
    25 const ll mod=1e9+7;
    26 const int inf=0x3f3f3f3f;
    27 const int maxn=1e5+10;
    28 #define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    29 
    30 double a,b;
    31 double solve(double c)
    32 {
    33     return (b*b/2)*(asin(c/b)+(c/(b*b))*sqrt(b*b-c*c))*a/b;
    34 }
    35 int main()
    36 {
    37     int t;
    38     cin>>t;
    39     while(t--)
    40     {
    41         cin>>a>>b;
    42         double ans1=solve(b)-solve(0);
    43         double ans2=0.5*b*b;
    44         double ans=4.0*(ans1+ans2)/b;
    45         ans-=(double)5e-7;
    46         printf("%.6f
    ",ans);
    47     }
    48 }

    溜了。

  • 相关阅读:
    Objective-c Category(类别)
    协议(porotocol)
    类的通用格式
    objective-c 强大的布尔类型
    C 语言函数指针
    c while 循环
    jQuery的deferred对象详解
    exploring the http Object
    div+css定位position详解
    如何给变量取个简短且无歧义的名字
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9494807.html
Copyright © 2011-2022 走看看