HDU2150 Pipe 折線相交 叉乘

2021-07-04 10:17:03 字數 668 閱讀 8417

好吧,之前一直不想用叉乘判斷線段相交問題,畢竟我覺得用直線方程是在是太方便太直接了;

直到我遇到了這個題目,真的是給它跪了,wa到死。。。不得跪舔叉乘。。。

#include#include#include#include#include#include#include#include#include#include#include#define ll long long

#define inf 1<<30

#define s(a) scanf("%d",&a)

#define clear(a,b) memset(a,b,sizeof(a))

using namespace std;

const int n=200005;

int n,a,b;

int num[105];

struct node

;node p[35][105];

double cross_prouct(node a,node b,node c) // 計算ba叉乘ca;

bool intersect(node a,node b,node c,node d) // 通過叉乘判斷線段是否相交;

bool solve() // 暴力列舉每條折線的每條線段是否相交;

{ for(int i=0;i

HDU 2150 Pipe(math叉乘判斷)

中文題,題意不用多少。這題也許兩個線段當成直線算交點,然後判斷交點橫座標在不在定義域內,感覺也可以,不過這種方法太低端,看了discuss裡叉乘判斷,於是我去學習了下線代里的向量積 ps.我是野生大一狗 兩個向量的向量積,是乙個垂直於兩個向量的向量,如果abxac,得到的結果是垂直於abc這個平面的...

HDU 2050 折線拆分平面

problem description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分。input 輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包含...

HDU2050 折線分割平面

題目描述 problem description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資...