暑假集訓 貪心專題 F題

2021-07-04 01:56:12 字數 699 閱讀 2146

貪心

題意:有乙個座標軸,在x軸上可以放半徑為r的雷達,x軸上方有n個海島,給出每個海島的座標,問如何用最少的雷達覆蓋全部的海島,如果覆蓋不了全部就輸出-1。

思路:算出每個海島可以被掃到的區間,然後根據區間覆蓋情況,算出需要的最少雷達。注意區間的左端為x-sqrt(r*r-y*y)右端為x+sqrt(r*r-y*y)。區間越小代表海島的y座標越大。

#include#include#include#includeusing namespace std;

const int max=1001;

struct node

p[max];

bool cmp(node a,node b)

} if(!flag)

sort(p,p+n,cmp);//將海島按x座標從小到大排序

int ans=1;

int k=0;//當前海島

for(int i=1;ip[i].rang_max)//如果列舉的海島區間被包含在當前海島區間的話,說明所列舉的海島的y大於當前海島的y,區間範圍更小

暑假集訓 貪心專題 A題

貪心 題意 有n個人要過河,只有一條船,而且每次只能坐2個人,過河花費的時間為2個人中划船最慢的那個人的時間,現在給出每個人過河花費所需的時間,問n個人全部過去所需要的最小時間。思路 注意船開過去後需要有乙個人劃回來而且也算入總需要時間。每次設法送隊伍中最慢和次慢的人過河,送他們過河的方法有2種 1...

暑假集訓 貪心專題 I題

貪心 題意 有乙個n種顏料的套組,每種顏料有50ml,還有一種沒有的灰色顏料,需要其他任意三種顏料來配置,如果三種顏料用xml來配置可以配置出xml的灰色顏料,問給出每種顏料及灰色顏料所需要的配置ml數,求最小的顏料套組總數。思路 先算出除灰色之外的其他顏料所需的最大值,求出需要的套數,然後用每種顏...

暑假集訓 貪心專題 E題

貪心 題意 有m個人玩牌,每個人有n張手牌,手牌點數最大為n m,每場每個人拿除一張手牌,誰最大誰贏,現在給出你的手牌點數,問你一定能贏多少場。思路 先將手牌從大到小排序,每次列舉一張牌,看比它大的手牌是否已經出現過,你的手牌均為已經出現過 如果所有比它大的手牌已經出現過,那麼這局出這張一定能贏。i...