P1158 飛彈攔截

2022-02-14 00:14:14 字數 918 閱讀 8561

思路

按每個點到第乙個系統的距離排序,然後預處理出每個點及其之後的點到第二個系統的距離的最大值,再迴圈一遍列舉答案。

**

1 #include 2 #include 3 #include 4 #include 5 #include 6

using

namespace

std;78

#define res register int

9 inline int

read()

1016 typedef long

long

ll;17

const

int n=100000+10;18

intn,x1,y1,x2,y2;

19int

d[n];

20struct

nodes[n];

23 inline int calc(int a1,int b1,int a2,int

b2)24

27bool cmp(node a,node b)

28int

main()

2936 sort(s+1,s+n+1

,cmp);

37for(res i=n ; i>=1 ; i--)

38 d[i]=max(d[i+1

],calc(x2,y2,s[i].x,s[i].y));

39int ans(d[1

]);40

for(res i=1 ; i<=n ; i++)

4145 printf("

%d\n

",ans);

46return0;

47 }

view code

P1158 飛彈攔截

題目描述 經過 11年的韜光養晦,某國研發出了一種新的飛彈攔截系統,凡是與它的距離不超過其工作半徑的飛彈都能夠被它成功攔截。當工作半徑為 0時,則能夠攔截與它位置恰好相同的飛彈。但該飛彈攔截系統也存在這樣的缺陷 每套系統每天只能設定一次工作半徑。而當天的使用代價,就是所有系統工作半徑的平方和。某天,...

洛谷 P1158 飛彈攔截

題目描述 經過 11 年的韜光養晦,某國研發出了一種新的飛彈攔截系統,凡是與它的距離不超過其工作半徑的飛彈都能夠被它成功攔截。當工作半徑為 0 時,則能夠攔截與它位置恰好相同的飛彈。但該飛彈攔截系統也存在這樣的缺陷 每套系統每天只能設定一次工作半徑。而當天的使用代價,就是所有系統工作半徑的平方和。某...

洛谷p1158 飛彈攔截

這道題是個有想法的列舉qwq 飛彈攔截 題目鏈結 注意 此飛彈攔截非彼飛彈攔截p1020 飛彈攔截 一道題是1999年的,然後我們現在要寫的是經過11年韜光養晦之後的飛彈攔截 solution 要不先說一說我錯誤的貪心防止踩坑?錯誤貪心1 40pts 先比較某個點到攔截系統1和2的距離,取距離較小的...