国产探花免费观看_亚洲丰满少妇自慰呻吟_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; } } }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 应用必备| 泰兴市| 东光县| 镇雄县| 麻城市| 海盐县| 新乡市| 环江| 田阳县| 绵阳市| 南江县| 霍城县| 汾阳市| 通化县| 张北县| 子洲县| 嘉定区| 红原县| 哈密市| 昭苏县| 阳原县| 邯郸市| 海伦市| 南川市| 甘谷县| 伊宁县| 丹棱县| 大足县| 塔河县| 泽库县| 洱源县| 县级市| 新兴县| 浦北县| 双城市| 呈贡县| 昌宁县| 聂荣县| 勐海县| 武陟县| 景谷|