題目描述:
現在各大oj上有n個比賽,每個比賽的開始、結束的時間點是知道的。思路:yyy認為,參加越多的比賽,noip就能考的越好(假的)
所以,他想知道他最多能參加幾個比賽。
由於yyy是蒟蒻,如果要參加乙個比賽必須善始善終,而且不能同時參加2個及以上的比賽。
這個題裡面沒有規定起始的時間,也就是根據這n組輸入找出最多的線段就可以了。所以可以把輸入的n組線段的右端點按從小到大排序,當右端點想同時,左端點從小到大排序。這樣一來,就是成了時間結束最早的排序,然後遍歷,如果下乙個比賽的開始時間大於等於這乙個比賽的結束時間,sum就自增好了。
**:
#include
#include
#include
#include
using namespace std;
typedef
struct
qujian;
qujian s[
1000005];
intcmp
(qujian s1, qujian s2)
intmain()
}printf
("%d"
, sum)
;return0;
}
洛谷P1803凌亂的yyy
快noip了,yyy很緊張!現在各大oj上有n個比賽,每個比賽的開始 結束的時間點是知道的。yyy認為,參加越多的比賽,noip就能考的越好 假的 所以,他想知道他最多能參加幾個比賽。由於yyy是蒟蒻,如果要參加乙個比賽必須善始善終,而且不能同時參加2個及以上的比賽。輸入格式 第一行是乙個整數n 接...
洛谷 P1803 凌亂的yyy
快noip了,yyy很緊張!現在各大oj上有n個比賽,每個比賽的開始 結束的時間點是知道的。yyy認為,參加越多的比賽,noip就能考的越好 假的 所以,他想知道他最多能參加幾個比賽。由於yyy是蒟蒻,如果要參加乙個比賽必須善始善終,而且不能同時參加2個及以上的比賽。輸入格式 第一行是乙個整數n 接...
洛谷 P1803 凌亂的yyy 線段覆蓋
話說個人覺得前面的幾篇並不是很好,其實沒有那麼難,也沒有那麼長 很久以前就看到了,但貌似一直認為自己的演算法是錯誤的,結果交上去發現是正解 首先按照時間排序 貪心 結束時間早 盡可能不影響後面的比賽 的在前,若結束時間相同,則開始時間晚 盡可能不影響前面的比賽 的在前。如果兩者的判斷順序反了,就把最...