牛牛偶像養成記(貪心)
為了拯救因入學人數驟降,面臨廢棄的學校,牛牛決定成為偶像啦。當然,作為一個偶像,肯定是要上臺表演的。
已知牛牛拿到了n個上臺表演的機會,第i次表演的上臺時間為ti時刻,需要表演mi這麼長的時間。
牛牛為了提高自己的知名度,肯定要取得最多的上場次數。請問,牛牛最多能上場多少次呢?
輸入描述:
第一行輸入一個數字n(1≤n≤100000),表示牛牛獲得的上臺表演的機會
接下來n行,每行輸入兩個數字ti(1≤ti≤108)和mi(1≤mi≤108), 表示第i次表演機會的上臺時間和該次表演需要的總時間(表演途中不能中斷表演退出)。
輸出描述:
牛牛最多能上場的次數。
示例1
輸入
3
1 2
3 2
5 2
輸出
3
1)
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int n = sc.nextInt();
Node[] node = new Node[n];
for(int i = 0 ; i < n ; i++) {
node[i] = new Node();
node[i].start = sc.nextInt();
node[i].end = node[i].start + sc.nextInt();
}
System.out.println(perform(node,n));
}
sc.close();
}
private static int perform(Node[] node,int n) {
Arrays.sort(node, new Comparator<Node>() {
@Override
public int compare(Node o1, Node o2) {
// TODO Auto-generated method stub
return o1.end - o2.end;
}
});
int result = 0, lastEnd = 0;
for(int i = 0 ; i < n ; i++) {
if(node[i].start >= lastEnd) {
result++;
lastEnd = node[i].end;
}
}
return result;
}
}
class Node{
int start;
int end;
}
import java.util.*;
public class Main implements Comparable<Main> {//See Main as Act
int startTime, endTime;
Main(int startTimeInit, int duration) {
this.startTime = startTimeInit;
this.endTime = startTimeInit + duration;
}
public int compareTo(Main other) {return this.endTime - other.endTime;}
public static void main(String[] args) {
PriorityQueue<Main> pq = new PriorityQueue<>();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(), cnt = 0, lastEndTime = 0;
while (n-- != 0)
pq.add(new Main(sc.nextInt(), sc.nextInt()));
while (pq.size() != 0) {
if (pq.peek().startTime >= lastEndTime) {
cnt++;
lastEndTime = pq.peek().endTime;
}
pq.poll();
}
System.out.println(cnt);
}
}
看懂大佬的答案都要好久,菜是本源啊
相關文章
- 貪心模式記錄模式
- 《演算法筆記》9. 培養貪心思維、貪心演算法深度實踐演算法筆記
- 「貪心」做題記錄
- 貪心 做題筆記筆記
- 貪心
- 反悔貪心
- Supermarket(貪心)
- 團綜大火,偶像養成類手遊或迎來最好時光?
- 貪心例題
- 貪心+搜尋
- LeetCode解題記錄(貪心演算法)(二)LeetCode演算法
- LeetCode解題記錄(貪心演算法)(一)LeetCode演算法
- 反悔貪心雜題
- 貪心演算法演算法
- 貪心、構造合集
- HDU 5821 Ball(貪心)
- 從虛擬偶像到《胡桃日記》,這個二次元IP的養成經歷了什麼?二次元
- KuonjiCat的演算法學習筆記:反悔貪心演算法筆記
- 我的linux運維養成記Linux運維
- 介面自動化大牛養成記
- [反悔貪心] Add One 2
- 7.5 - 貪心篇完結
- 貪心演算法Dijkstra演算法
- 24/03/20 貪心(一)
- HDU 6047 Maximum Sequence (貪心)
- HDU 5813 Elegant Construction (貪心)Struct
- 漲薪【貪心】【快速冪】
- Leetcode 貪心:差值調整LeetCode
- Least Cost Bracket Sequence(貪心)ASTRacket
- 刪數問題(貪心)
- 牛客 tokitsukaze and Soldier 貪心
- 貪心-刪數問題
- 貪心-*活動選擇
- 學一下貪心演算法-學一下貪心演算法演算法
- 貪心演算法(貪婪演算法,greedy algorithm)演算法Go
- 競鹿(JobDeer)CTO養成記——羅飛
- 盛趣遊戲公佈新概念偶像養成RPG手遊《寶石幻想:光芒重現》遊戲
- 9-貪心演算法演算法