题目链接:F.Random Point in Triangle
题目大意:在三角形ABC中随机的选取一点P,连接P与各个顶点构成三角形ABP,ACP,BCP。需求出一个期望,其中
为三角形XYZ 面积。程序输出
,结果一定为整数。
思路(一):强行二重积分(目前还不太会)
思路(二):构造三角形ABC,其中G为三角形ABC重心。
由重心的性质
(其他线段也一样)
所以P点的选择只能使三角形面积的期望,经尝试得到系数为22
即。
思路(三):来自大神的几何作图
代码:
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <queue>
typedef long long ll;
using namespace std;
#define INF 0x3f3f3f3f
const int mod=1e9+7;
const int maxn=1e5+10;
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
int main()
{
ll x1,x2,x3,y1,y2,y3;
while(~scanf("%lld%lld%lld%lld%lld%lld",&x1,&y1,&x2,&y2,&x3,&y3)){
ll ans=abs((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))*11;
printf("%lld\n",ans );
}
return 0;
}
!!!!!!积分做法一定要搞懂!!!!!!