傳送門
二維平面四個點求凸包面積->任選三個點面積之和/2
三維平面五個點求凸包體積->任選四個點體積之和/2
二維平面三個點面積->二個二維向量行列式值的絕對值/2
三維平面四個點體積->三個三維向量行列式值的絕對值/6
1view code//achen
2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #include
11 #include12
#define formylove return 0
13#define for(i,a,b) for(int i=(a);i<=(b);i++)
14#define rep(i,a,b) for(int i=(a);i>=(b);i--)
15 typedef long
long
ll;16 typedef double
db;17
using
namespace
std;
1819 templatevoid read(t &x)
2526
struct
pt 29 }p[10
];30 pt operator -(const pt&a,const pt&b)
3132
db calc(pt p1,pt p2,pt p3,pt p4)
3738
intmain()
51formylove;
52 }
三維凸包 BZOJ 最佳包裹
模板題解 增量法怎麼這麼強啊。擾動很重要,直接掛50分。判斷可視邊緣的方法很神奇,將每個三角面的三邊順方向打有向標記,那麼只有乙個方向有邊的點對就是邊緣點對,直接建面。總的面數是o n o n o n 複雜度為o n 2 o n 2 o n2 可以用乙個有理有據但是有點麻煩的優化 可以做到o n l...
BZOJ1209 最佳包裹 (三維凸包 增量法)
求三維凸包的表面積。n 100 n le100 n 100 暴力往當前的凸包裡加點。o n 2 o n 2 o n2 題解詳見大佬部落格 擾動函式sha keshake shak e是為了避免四點共面。實測e ps epsep s開到1e 101e 10 1e 10才過 include using ...
BZOJ1209 最佳包裹 (三維凸包 增量法)
求三維凸包的表面積。n 100n 1 00暴力往當前的凸包裡加點。o n 2 o n2 題解詳見大佬部落格 擾動函式sha kesh ake是為了避免四點共面。實測epse ps開到1e 10 1e 1 0才過 include using namespace std define il inline...