贪心,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;
}
时间: 2024-10-10 05:53:23

贪心,Gene Assembly的相关文章

zoj 1076 Gene Assembly

Gene Assembly Time Limit: 2 Seconds      Memory Limit: 65536 KB Statement of the Problem With the large amount of genomic DNA sequence data being made available, it is becoming more important to find genes (parts of the genomic DNA which are responsi

zoj1076 Gene Assembly

这道和zoj1025一样,本质是贪心算法,首先要求任意最长的序列,我们只要保证最长就行,也就是在一幅图中找一个最长的链,首先我们需要根据y排序(输入为x,y),因为y大的肯定在y小的后面,然后就直接贪心,前面取不到后面就不可能取到那个数,证明了贪心的正确性. #include<cstdio> #include<algorithm> #include<cmath> #include<map> #include<iostream> #include&

POJ百道水题列表

以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight Moves1101 Gamblers1204 Additive equations 1221 Risk1230 Legendary Pokemon1249 Pushing Boxes 1364 Machine Schedule1368 BOAT1406 Jungle Roads1411 Annive

zoj题目分类

饮水思源---zoj 转载自:http://bbs.sjtu.edu.cn/bbscon,board,ACMICPC,file,M.1084159773.A.html 注:所有不是太难的题都被归成了“简单题”,等到发现的时候已经太晚了,我太死脑筋 了……:( 有些题的程序我找不到了,555……:( SRbGa的题虽然都很经典……但是由于其中的大部分都是我看了oibh上的解题报告后做 的,所以就不写了…… 题目排列顺序没有规律……:( 按照个人感觉,最短路有的算做了DP,有的算做了图论. 有些比较

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

生物信息学 Contig是reads拼成的连续的DNA片段,连续表达一个gene.通过双端测序的contig可确定contig之间的关系得到scaffold,Scaffold是reads拼成的有gap的DNA片段.理想情况下,一条染色体用同一个scaffold的表达.整个genome存在很多零碎片段,可舍弃.因为duplication产生很多overlap. N50,L50和NG50是评价genome assembly的quality的标准,评价长度时使用N50,N50是一个contig的长度.

UVA 1368 DNA(模拟+贪心)

DNA (Deoxyribonucleic Acid) is the molecule which contains the genetic instructions. It consists of four different nucleotides, namely Adenine, Thymine, Guanine, and Cytosine as shown in Figure 1. If we represent a nucleotide by its initial character

Falcon Genome Assembly Tool Kit Manual

Falcon Falcon: a set of tools for fast aligning long reads for consensus and assembly The Falcon tool kit is a set of simple code collection which I use for studying efficient assembly algorithm for haploid and diploid genomes. It has some back-end c

Gene Ontology (GO) 注释

Gene Ontology (GO) 注释 Posted on 2017-06-11 |  In 生信 相似的基因在不同物种中,其功能往往保守的.显然,需要一个统一的术语用于描述这些跨物种的同源基因及其基因产物的功能,否则,不同的实验室对相同的基因的功能的描述不同,将极大限制学术的交流.而 Gene Ontology (GO) 项目正是为了能够使对各种数据库中基因获基因产物功能描述相一致的努力结果. 所谓的 GO,是生物学功能注释的一个标准词汇表术语(GO term),将基因的功能分为三部分:

The sequence and de novo assembly of the giant panda genome.ppt

sequencing:使用二代测序原因:高通量,短序列 不用长序列原因: 1.算法错误率高 2.长序列测序将嵌合体基因错误积累.嵌合体基因:通过重组由来源与功能不同的基因序列剪接而形成的杂合基因 sequencing: 增多的total length>N>gap>missing in genome The reads with a frequency > 1 were called duplicated reads, and we defined the duplication r