題意:有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 表示區間的兩個端點。輸出輸出乙個整數,表...