题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=4445 题解: 设点坐标,利用叉积可以解出当p坐标为\((x_p,y_p)\)时,与边i--(i+1)构成的三角形面积为 \[(y_i - y_{i+1})x_p+(x_{i+1} - x_i)y_p+(x_iy_{i+1}-x_{i+1}y_i)\] 我们又知道三角形\(0 -- 1 -- (p)\)是最小的,所以我们列出不等式后移项变号得 \[(y_0-y_1-y_i+y_{i+1}…
[BZOJ4445][Scoi2015]小凸想跑步 Description 小凸晚上喜欢到操场跑步,今天他跑完两圈之后,他玩起了这样一个游戏. 操场是个凸n边形,N个顶点按照逆时针从0-n-l编号.现在小凸随机站在操场中的某个位置,标记为P点.将P点与n个顶点各连一条边,形成N个三角形.如果这时P点,0号点,1号点形成的三角形的面积是N个三角形中最小的一个,小凸则认为这是一次正确站位. 现在小凸想知道他一次站位正确的概率是多少. Input 第1行包含1个整数n,表示操场的顶点数和游戏的次数.…
题目传送门 vjudge的快速通道 bzoj的快速通道 题目大意 问在一个凸多边形内找一个点,连接这个点和所有顶点,使得与0号顶点,1号顶点构成的三角形是最小的概率. 假设点的位置是$(x, y)$,那么可以用叉积来计算三角形的面积. 这样可以列出$n - 1$个不等式. 将每个化成形如$ax + by + c \leqslant 0$的形式. 然后分类讨论($b = 0的时候需要特殊处理$)将它转换成二维平面上的半平面. 接着做半平面交,算面积就好了. Code /** * bzoj * Pr…
传送门 题意 小凸晚上喜欢到操场跑步,今天他跑完两圈之后,他玩起了这样一个游戏. 操场是个凸 $ n $ 边形,$ n $ 个顶点 $ P_i $ 按照逆时针从 $ 0 $ 至 $ n-1 $ 编号. 现在小凸随机站在操场中的某个位置,标记为 $ P $ 点.将 $ P $ 点与 $ n $ 个顶点各连一条边,形成 $ n $ 个三角形.如果这时 $ (P, P_0, P_1) $ 形成的三角形的面积是 $ n $ 个三角形中最小的一个,小凸则认为这是一次正确站位. 现在小凸想知道他一次站位正确…
题目大意:一个凸包,随机一个点使得其与前两个点组成的面积比与其他相邻两个点组成的面积小的概率 根据题意列方程,最后求n条直线的交的面积与原凸包面积的比值 #include<bits/stdc++.h> #define maxn 100010 #define eps 1e-10 using namespace std; double ans,S1,S2; struct P{ double x,y; P(,){x=a,y=b;} }; struct L{ P a,b; double ang; };…
[BZOJ4445][SCOI2015]小凸想跑步(半平面交) 题面 BZOJ 洛谷 题解 首先把点给设出来,\(A(x_a,y_a),B(x_b,y_b),C(x_c,y_c),D(x_d,y_d),P(x,y)\) 然后我们考虑\(S_\Delta ABP<S_\Delta CDP\)什么情况下满足. 根据点积来求面积,得到: \[(x_a-x,y_a-y)\times(x_b-x,y_b-y)<(x_c-x,y_c-y)\times(x_d-x,y_d-y)\] 这个东西左边拆开之后得到…
题目描述 小凸晚上喜欢到操场跑步,今天他跑完两圈之后,他玩起了这样一个游戏. 操场是个凸 n 边形, nn 个顶点按照逆时针从 0 ∼n−1 编号.现在小凸随机站在操场中的某个位置,标记为p点.将 p 点与 n个顶点各连一条边,形成 n个三角形.如果这时p 点, 0号点, 1号点形成的三角形的面 积是 n个三角形中最小的一个,小凸则认为这是一次正确站位. 现在小凸想知道他一次站位正确的概率是多少. 题解 我们其实是要找到一个p点,使得pp0*pp1<=ppi*ppi+1. 然后我们把上面的式子展…
裸半平面交. 记得把P0P1表示的半平面加进去,否则点可能在多边形外. #include<bits/stdc++.h> #define N 100009 using namespace std; int n,m,u,v; const double eps=1e-8; int sign(double x){ return x<-eps?-1:x>eps; } struct vec{ double x,y; vec(){} vec(double x,double y) :x(x),y(…
题意:凸包上一个点\(p\),使得\(p\)和点\(0,1\)组成的三角形面积最小 用叉积来求: \(p,i,i+1\)组成的三角形面积为: (\(\times\)为叉积) \((p_p-i)\times (p_p-p_{i+1})\Rightarrow\) \((x_p-x_i,y_p-y_i)\times(x_p-x_{i+1},y_p-y_{i+1})\Rightarrow\) \((x_p-x_i)(y_p-y_{i+1})-(y_p-y_i)(x_p-x_{i+1})\Rightarr…
题目链接 题意 给你一个凸多边形,求出在其内部选择一个点,这个点与最开始输入的两个点形成的三角形是以该点对凸多边形三角剖分的三角形中面积最小的一个三角形的概率. Sol 答案就是 可行域面积与该凸多边形面积之比. 通过数学方法列出第一个三角形和其他三角形面积关系的式子,解出来发现都是一个半平面,所以我们要做的就是快速求解半平面交. 把所有要加入的直线用向量表示 , 按照极角排序 ( 用 atan2() ) , 然后依次加入直线. 维护一个双端队列 , 每次加入一条直线时判断最左最右的交点和当前直…