昨天比賽的時候沒有做出來,本來是想用貪心的,但是貪了好久都沒有招,
今天在網上搜了解題報告~好像說這是一類區間選點問題:
有乙個好的做法:
(1)首先把題目中的時間全轉化為分鐘,那麼區間就在0-1440中間
(2)對於n組人,有乙個si 和乙個ei,那麼開個陣列, cnt[si]+=d; cnt[ei]-=d;
( 3 ) 也就是說在數軸上講到達的這點加上d,離開的這點減去d;
附上**
#include
#include
#include
using namespace std;
int cnt[1445];
int main()
cout<}return 0;
}
hdu 4883 區間選點
昨天比賽的時候沒有做出來,本來是想用貪心的,可是貪了好久都沒有招,今天在網上搜了解題報告 好像說這是一類區間選點問題 有乙個好的做法 1 首先把題目中的時間全轉化為分鐘,那麼區間就在0 1440中間 2 對於n組人,有乙個si 和乙個ei,那麼開個陣列,cnt si d cnt ei d 3 也就是...
1 區間選點 區間問題
區間問題一般都需要對區間進行排序,對左端點排序,或對右端點排序,或雙關鍵字排序 然後需要 證明這樣的選法選出來的點數一定是符合答案的,且是選點最少的 首先按照這個方法來選的話,每乙個區間上一定選了乙個點,所以這種選法是一種合法的方案 然後這道題的最優解是指所有合法方案中的選點最少的,所以 所以ans...
905 區間選點(貪心)
題目傳送門 題解思路參考大佬 給定 n 個閉區間 ai bi a i,b i ai b i 請你在數軸上選擇盡量少的點,使得每個區間內至少包含乙個選出的點。輸出選擇的點的最小數量。位於區間端點上的點也算作區間內。輸入格式 第一行包含整數 n 表示區間數。接下來 n 行,每行包含兩個整數ai,bi a...