poj 4048 wa了n次 印象深刻

2021-06-06 11:15:56 字數 949 閱讀 6964

#include#include #include #include #include #define max 5000

using namespace std;

const double eps = 1e-8;

struct point;

struct line ;

line l[max];

point base;

int t,n;

bool dy(double x,double y) // x > y

bool xy(double x,double y) // x < y

bool dyd(double x,double y) // x >= y

bool xyd(double x,double y) // x <= y

bool dd(double x,double y) // x == y

double crossproduct(point a,point b,point c)//向量 ac 在 ab 的方向

double dis(point p1,point p2)

point intersection(line l1,line l2)

double dot(point a,point b,point c)

bool judge(point p,line l)

else return false;

}int main()

printf("%d\n",num);

}return 0;

}

列舉每個端點和原點組成的射線與其他線段是否相交,若相交還需判斷交點是否在射線上,用點積判斷

開始怕超時用極角排序,但更麻煩,每個極角對應乙個極角範圍,逆時針旋轉掃瞄,用正負符號表示線段的開始和結束極角,但是會出現極角範圍大於180度的情況需要特殊處理,實在太麻煩不好搞

POJ 1753 POJ 2965 解題報告

poj 1753 poj 2965 解題報告 poj 1753 和 poj 2965 是同一型別的題目,但是2965 有乙個比較簡單的方法來解決。poj 1753 我用的是打表的方法,打表很不厚道。思路 首先我們需要確定儲存的資料結構,從網上搜得用二進位制位來存,這確實是個很巧妙的方法,例如,我們將...

poj 3074 poj 3076(精確覆蓋)

兩個題都是數獨,題意很明確。建圖的思路大神寫的很好 行 一共9 9 9 729行。一共9 9小格,每一格有9種可能性 1 9 每一種可能都對應著一行。列 一共 9 9 9 9 81 324 種前面三個9分別代表著9行9列和9小 塊。乘以9的意思是9種可能,因為每種可能只可以選擇乙個。81代表著81個...

poj 2420 poj1379 模擬退火

具體模擬退火的原理可參考 模擬退火可用於一些 精度 要求不是很高的題目。比如取答案的0.1,或者沒有小數點 poj2420 題意 給定n個點,找到乙個點,使得n個點到這個點的距離和最小 模擬退火法 模擬退火的過程 1 確定生成點的範圍,初設為矩形,在這個範圍內生成num個點 num自定 2 確定最高...