国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

貪心 HDU 2037題解

2019-11-08 20:17:27
字體:
來源:轉載
供稿:網友

HDU 2037

貪心

1、確定候選集: 將同一節目的開始時間與結束時間以結構體的方式存儲。 2、貪心策略: 對候選集進行預處理:對所有節目的結束時間由小到大進行排序處理。 遍歷一遍排好序的數組:首先將數組第一個位置的節目加入到解集中,且記錄此節目的結束時間,再依次向后找當滿足當前節目的開始時間比之前剛加入到解集中的節目的結束時間大或者相等時,將當前節目加入解集中,并記錄當前節目的結束時間,否則跳過當前節目向后尋找,直到遍歷完數組所有元素,解集中的節目數既是答案。 3、證明:當選擇的當前節目的結束時間越小時,剩余時間越多,則越能安排更多的節目(更嚴謹的證明可以使用數學歸納法與反證法)。

#include <iostream>#include <cstdio>#include <algorithm>using namespace std;struct activity{ int acBegin; int acEnd;};int n;int ans;bool ifStart;activity ac[105];bool cmp(const activity left, const activity right) { return left.acEnd < right.acEnd;}int main() { while (~scanf("%d", &n)) { if (n == 0) break; ans = 0; ifStart = false; for (int i = 0; i < n; ++i) { scanf("%d%d", &ac[i].acBegin, &ac[i].acEnd); } sort(ac, ac + n, cmp); int lastEnd; for (int i = 0; i < n; ++i) { if (!ifStart) { ifStart = true; ans++; lastEnd = ac[i].acEnd; } else { if (ac[i].acBegin >= lastEnd) { ans++; lastEnd = ac[i].acEnd; } } }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东丰县| 师宗县| 云南省| 小金县| 渝北区| 翁源县| 晋江市| 日土县| 尚义县| 富阳市| 黄浦区| 张家港市| 大英县| 重庆市| 怀仁县| 正蓝旗| 苗栗市| 库伦旗| 盐源县| 礼泉县| 法库县| 辽阳市| 剑河县| 黄龙县| 通化县| 崇仁县| 江永县| 湄潭县| 简阳市| 贵州省| 廉江市| 翁牛特旗| 杭州市| 潞西市| 潜江市| 宝应县| 栖霞市| 栖霞市| 桐柏县| 丰顺县| 文山县|