贪心,Gene Assembly

Posted 树的种子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了贪心,Gene Assembly相关的知识,希望对你有一定的参考价值。

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=76

解题报告:

1、类似活动安排问题。

2、输出格式要注意。

#include <stdio.h>
#include <string.h>
#include <algorithm>

using namespace std;


struct gene
{
    int s;///起始
    int f;///结束
    int index;///编号
} a[1005];

bool b[1005];

bool cmp(const gene&a,const gene&b)
{
    if(a.f<=b.f)
        return true;
    else return false;
}

int main()
{
    int n;
    while(scanf("%d",&n),n)
    {
        memset(b,false,sizeof(b));
        for(int i=0; i<n; i++)
        {
            scanf("%d%d",&a[i].s,&a[i].f);
            a[i].index=i+1;
        }
        sort(a,a+n,cmp);
        b[0]=true;
        int PreEnd=0;
        for(int i=1; i<n; i++)
        {
            if(a[i].s>a[PreEnd].f)
            {
                b[i]=true;
                PreEnd=i;
            }
        }
        printf("%d",a[0].index);
        for(int i=1; i<n; i++)
            if(b[i]) printf(" %d",a[i].index);
        printf("\n");
    }
    return 0;
}

 

以上是关于贪心,Gene Assembly的主要内容,如果未能解决你的问题,请参考以下文章

Contig|scaffold|N50|L50|NG50|贪心算法|de bruiji graph|

如何将上百个gene symbol 转换成gene ID

ASSEMBLY中的59代表什么? [重复]

贪心算法:划分字母区间

763. 划分字母区间-贪心算法

贪心热门问题8:划分字母区间