找至少m個黑點使得它們之間最遠距離最小

2021-10-01 23:16:58 字數 761 閱讀 7806

題意:有n個點,其中有些點是白點,有些點是黑點,問你能不能找至少m個黑點,使得它們之間最遠距離最小。

題解:由於資料範圍很小,100,所以我們可以暴力。先用floyd預處理出每兩個點之間的距離,然後列舉每兩個黑點的距離dis[i][j],把那個距離看成最遠距離,看是否能有至少m個黑點它們之間的距離小於dis[i][j],如果有,就更新ans。

#include 

#include

#include

using namespace std;

const int maxn =

105;

const int inf

=0x3f3f3f3f

;int dis[maxn]

[maxn]

;int vis[maxn]

;int main()

}for

(int i=

1; i<=n; i++

)for

(int i=

1; i)for

(int k=

1; k<=n; k++)}

} int ans =

inf;

for(int i=

1; i<=n; i++)}

if(cnt>=m)

ans =

min(ans,dis[i]

[j]);}

}printf

("%d"

,ans)

;}

找前m個大的數

include using namespace std 查詢前m個大的數字 方法有很多 直接sort函式走一波 但是這樣的複雜度是比較高 題目要求是 一共是n個數 要輸出前m個數字 時間複雜度是o n mlogm 分治思想 將前m個數字挪到一邊 就體現了分治 voidqs int a,int l,i...

邏輯題 喝 m 瓶汽水至少需要多少錢?

某學院有m個學生參加春遊,休息時喝汽水。商家公告 買一瓶汽水定價1.40元,喝一瓶汽水 瓶不帶走 1.00元。為節約資源,規定3個空瓶可換回一瓶汽水,或20個空瓶可換回7瓶汽水。為方便顧客,可先借後還。例如借一瓶汽水還3個空瓶,或借七瓶汽水還20個空瓶 問 m個學生每人喝一瓶汽水 瓶不帶走 至少需要...

使得閉區間內找至少有一點

描述 上數學課時,老師給了 lyh一些閉區間,讓他取盡量少的點,使得每個閉區間內至少有乙個點。但是這幾天 lyh太忙了,你們幫幫他嗎?輸入 多組測試資料。每組資料先輸入乙個n,表示有n個閉區間 n 100 接下來n行,每行輸入兩個數a,b 0 a b 100 表示區間的兩個端點。輸出輸出乙個整數,表...