2019牛客暑期多校训练营(第一场)F.Random Point in Triangle (期望)

题目链接:https://ac.nowcoder.com/acm/contest/881/F

题意:

给你一个三角形的三个点,A,B,C;

让你在三角形内找一点P  设期望E = max{S_{PAC},S_{PAB},S_{PBC}}

输出期望E*36  (保证结果为整数)

题目求的是期望,所以用等边三角形这个特例来推公式

 

设边长为2a,取三角形的中心O,可以分成三个面积相等的三角形,要求最大的面积的期望,那么P点只能在红黄蓝三个区域内,由于等边三角形是对称的,所以只拿某一个区域看就可以了,比如下面这个黄色的区域

黄色的这部分又可以分成两个对称的部分,P点落在两个部分的概率是一样的,所以只看一边就好了

假设一个P点的位置,然后设P点到中线的距离是x,与O点的垂直距离是y,并且过P点做AC的垂线交AC于点G

过P点做AB的平行线交AC于点H,

通过相似可知

 PH = \frac{2}{3}a +x+\frac{\sqrt{3}}{3}y

PG = sin(\frac{\pi }{3})*PH = \frac{\sqrt{3}}{2}(\frac{2}{3}a +x+\frac{\sqrt{3}}{3}y)

S_{APC} =\frac{AC*PG}{2} = \frac{\sqrt3}{3}a^{2}+\frac{\sqrt3}{2}ax+\frac{1}{2}ay

对面积求期望,则需要求积分,确定好积分区域y\in[0,\frac{\sqrt3}{3}a]x\in[0,\sqrt3y]

\int_{0}^{\frac{\sqrt3}{3}a}dy\int_{0}^{\sqrt3y}(\frac{\sqrt3}{3}a^{2}+\frac{\sqrt3}{2}ax+\frac{1}{2}ay)dx

积分后答案为

             \frac{11}{36}a^4

由于求得是期望,根据几何概型,P取点的数量就是我们这块积分区域的面积 \frac{\sqrt{3}}{6}a^2 

所以期望为\frac{11}{18}\sqrt3a^2  由于最初的三角形的面积为\sqrt3a^2

答案就是22*S_{ABC}

​    

#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long x1,x2,x3,y1,y2,y3;
    while(scanf("%lld%lld%lld%lld%lld%lld",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF)
    {
        long long sum = abs((x1*y2+y1*x3+x2*y3)-(x1*y3+y2*x3+y1*x2))*11;
        printf("%lld\n",sum);
    }
    return 0;
} 


 
​ 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值