HNOI2008 水平可見直線

2022-06-04 13:00:17 字數 780 閱讀 7796

在xoy直角座標平面上有n條直線l1,l2,...ln,若在y值為正無窮大處往下看,能見到li的某個子線段,則稱li為可見的,否則li為被覆蓋的.

例如,對於直線:l1:y=x; l2:y=-x; l3:y=0則l1和l2是可見的,l3是被覆蓋的.給出n條直線,表示成y=ax+b的形式(|a|,|b|<=500000),且n條直線兩兩不重合.求出所有可見的直線.

輸入格式:

第一行為n(0 < n < 50000),接下來的n行輸入ai,bi

輸出格式:

從小到大輸出可見直線的編號,兩兩中間用空格隔開,最後乙個數字後面也必須有個空格

輸入樣例#1: 

3

-1 0

1 00 0

輸出樣例#1: 

1 2

半平面交板題。

#include#define ll long long

#define maxn 50005

using namespace std;

const double eps=1e-9;

inline int zt(double x)

struct lines

}l[maxn];

int n,s[maxn],tp;

bool v[maxn];

inline double x(lines x,lines y)

inline void getplain()

} int main()

HNOI 2008 水平可見直線

hnoi 2008 水平可見直線 在 xoy 直角座標平面上有n條直線 l1,l2,ln,若在y 值為正無窮大處往下看,能見到 li的某個子線段,則稱 li為可見的,否則 li為被遮蓋的。例如,對於直線 l1 y x l2 y x l3 y 0 則 l1和l2是可見的,l3是被遮蓋的。給出 n 條直...

HNOI 2008 水平可見直線

傳送門 題目描述 在 xo yxoy xoy 直角座標平面上有 n nn 條直線 l1,l2,l nl 1,l 2,l n l1 l2 ln 若在 y yy 值為正無窮大處往下看,能見到 l il i li 的某個子線段,則稱 l il i li 為可見的,否則 l il i li 為被覆蓋的。例如...

HNOI2008 水平可見直線

luogu 給定若干條直線 都是 y ax b 的形式 求從上往下看所有可以看到的直線,從小往大輸出編號 n le 50000 a b le 500000 從上往下看,若干條直線構成的半平面交的部分才是可見的 聽說直接做半平面交可以 o n log n 做,但是我不會 y kx b 對於乙個 x 只...