您的位置:首页 > 其它

【贪心算法】:活动记录问题

2016-01-10 00:49 316 查看
原帖:/article/2975676.html

题目



这就是题目

思路

有着丰富编程经验的人知道,只要有思路,实现这个方案很简单

只要后一次活动的开始时间比前一次活动的结束时间晚,就认为后一次活动是可取的,否则往后遍历

初始值是:第一次

代码

[code]#include <iostream>
using namespace std;
void GreedyChoose(int len,int *s;int *f,bool *flag);
int main(){
    int s[11] = {1,3,0,5,3,5,6,8,8,2,12};
    int f[11] = {4,5,6,7,8,9,10,11,12,13,14};
    bool mark[11]={0};
    GreedyChoose(11,s,f,mark);
    for(int i=0;i<11;i++){
        if(mark[i])
            cout<<i<<" ";
    }
    return 0;
}

void GreedyChoose(int len,int *s;int *f,bool *flag){
    flag[0] = true;
    int j=0;
    for(int i=1;i<len;++i){
        if(s[i]>=f[j]){
            flag[i] = true;
            j=i;
        }
    }
}


补录:还有一个问题叫做区间覆盖问题,跟这个问题思路都一致

详情见链接:/article/2975676.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: