題意:
給出n個點的整數座標(n<=700),求一條直線,使得在這條直線上的點數最多,輸出點數。
思路:簡單幾何題。採用幾何中三個點是否在一條直線判定定理。
**:
#include<
iostream
>
#include
<
algorithm
>
#include
<
cstdio
>
using
namespace
std;
typedef
struct
point;
point p[
703];
double
a[703
];int
main()
inttemp,max=0
;for(i=
0;i<
n;i++
)max
=max
>
temp
?max:temp;}}
cout
<<
max+
2<<
endl;
}return0;
}
POJ1118 Lining Up 計算幾何
題意 給你乙個二維座標上的幾個點,問在同一條直線上最多幾個點。思路 n 700,剛開始我列舉兩個點i,j。兩個點一條線 然後用k列舉一遍各個點。這樣算出每條線上最多的點。用了o n 3 的超時了。我真是太天真了。其實在列舉每個k的時候就可以想到。k明顯有一些可以優化的地方。優化 之前是列舉每條線,現...
poj 1033 Defragment 解題報告
距離從1000處子題,已經過了好些日子了,終於突破20題了,但是還沒有進入前1w 中國的人真多啊 一直在做動態規劃的題,實在是被動態規劃的強大折服。最近開始找些搜尋的題來做,剪那個sticks,一直剪不過tle,於是決定換道題,看網上的推薦說這是一道搜尋題,於是開始切!題意 磁碟整理,按照從第乙個檔...
poj1007 DNA Sorting解題報告
題目要求的是一條dna序列的逆序數,求逆序數可以考慮使用歸併演算法來進行求解。我們來設想這樣乙個場景 相鄰的a b兩塊進行公升序排序,各自都已經是排好序的了,且b排在a右邊。那麼當把b中的某數t放到已排序的數列中,那麼a序列中剩下的數就是比數t要大的,但我們要注意到 在原序列中,由於b序列在a序列右...