P1803 凌亂的yyy 線段覆蓋

2021-10-02 11:27:33 字數 1022 閱讀 1427

p1803 凌亂的yyy / 線段覆蓋

有若干場比賽,每場比賽的時間為aibi,求在比賽時間不衝突的情況下,能參加的比賽場數最多為多少。

考慮從早到晚來安排比賽,比賽時間結束越早,則我們之後能安排的比賽理論上就越多。所以首先先對比賽進行排序,結束時間早的優先。

d[i]i時刻之前能安排最多比賽數,則對於一場比賽而言,參加它後達到的最多比賽數為d[end] = d[begin] + 1(加的一即為本次比賽)。

做法就是從早到晚遍歷所有時刻,如果當前時刻沒有比賽,則該時刻之前能安排的最多比賽書與上時刻相同,即d[i] = d[i-1]。而如果當前時刻有比賽,則看安排下該比賽後是否會最多比賽數增大,若增大則更新資料。即d[i] = max(d[i], d[begin] + 1)

這裡之所以遍歷時刻而不是遍歷比賽的原因是,要確保每乙個時刻都有資料,避免出現中間某些時刻資料為0,而且也更符合該思路的邏輯。安排比賽是在時間線上安排的,可以通過畫線作圖的方式加以理解。

#include

#include

using

namespace std;

struct contestc[

1000001];

int d[

1000001]=

;bool

cmp(contest a,contest b)

intmain()

sort

(c,c+n,cmp)

;int ans =

0,idx =0;

for(

int i =

1;i<=

1000000

;i++

) ans =

max(ans, d[i]);

} cout << ans;

return0;

}

P1803 凌亂的yyy 線段覆蓋

p1803 凌亂的yyy 線段覆蓋 提交題目提供者 yyy2015c01 嚶嚶嚶 評測方式 雲端評測 標籤難度 普及 時空限制 1000ms 128mb 題目描述 現在各大oj上有n個比賽,每個比賽的開始 結束的時間點是知道的。yyy認為,參加越多的比賽,noip就能考的越好 假的 所以,他想知道他...

P1803 凌亂的yyy 線段覆蓋

快 noip 了,yyy 很緊張!現在各大 oj 上有 nn 個比賽,每個比賽的開始 結束的時間點是知道的。yyy 認為,參加越多的比賽,noip 就能考的越好 假的 所以,他想知道他最多能參加幾個比賽。由於 yyy 是蒟蒻,如果要參加乙個比賽必須善始善終,而且不能同時參加 22 個及以上的比賽。第...

P1803 凌亂的yyy 線段覆蓋

再一次感動我媽一整年,關於兩個資料聯絡起來排序的感想emm 主要還是思維題,考察貪心和排序,思路 要想最多,就得盡量考早結束的場次,所以以結束時間為標準排序,從小到大遍歷一遍,如果開始時間 參加的上場的結束時間,ans ans最小為1,最少參加一場是結束最早的那一場 ps 對於兩個東東關聯起來按照某...