




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Pku3691DNA repair:给定m个病毒DNA片段,在给一个DNA序列,求最小经过多少次改动可以消去病毒序列。无法则输出-1.Pku2778DNA,也是给你m个病毒DNA片段,求长度为N的没有病毒序列的种数结果mod100000。Pku1625,给定字母表E,在给你n个禁止出现子序列,求长度为M的序列有多少种,输出结果。高精度。PKU3691#includeusing namespace std;const int size = 1003;const int MAXINT = 130;int dpsizesize;char word24;char strsize;struct Node int end,fail,son4; void Init() end = 0; fail = -1; memset(son, -1, sizeof(son); nodesize;int node_Num = 0;int qsize,head,tail;int Index(char a) switch(a) case A:return 0; case G:return 1; case C:return 2; case T:return 3; void Insert(char *s) int p = 0; for(int i=0; si; i+) if (nodep.sonIndex(si) = -1) node_Num+; nodep.sonIndex(si) = node_Num; nodenode_Num.Init(); if (nodep.end) break;/*危险结点为其子结点不必继续 */ p = nodep.sonIndex(si); nodep.end+;void Build_Ac() int temp, p, i; head = tail = 0; qtail+ = 0; while (head tail) temp = qhead+; for (i = 0; i b|a=-1) a=b;int Done() int i, j, k, Min = MAXINT, tmp; memset(dp, -1, sizeof(dp); dp00 = 0; for (i = 0; stri; i+) for (j = 0; j = node_Num; j+) if (dpij != -1) for (k = 0; k 4; k+) tmp = j; while (tmp != -1) if (nodetmp.sonk != -1) tmp = nodetmp.sonk; break; tmp = nodetmp.fail; if (tmp = -1) tmp = 0; if (!nodetmp.end) toMin(dpi+1tmp, dpij+(Index(stri)!= k);/*1or0*/ for (j = 0; j dpij) Min = dpij; return (Min=MAXINT)?-1:Min;int main() int N, i, ans, Case=1; while (scanf(%d,&N) & N) node_Num = 0; node0.Init(); for (i = 0; i N; i+) scanf(%s,word); Insert(word); scanf(%s,str); Build_Ac(); ans = Done(); printf(Case %d: %dn,Case+, ans); return 0;PKU2778#includeusing namespace std;const int Mod = 100000;const int size = 120;_int64 gsizesize;struct Node int fail,son4,end; void Init() fail = -1; memset(son, -1, sizeof(son); end = 0; nodesize;int node_Num = 0;int qsize, head, tail;int Index(char a) switch (a) case A:return 0; case G:return 1; case C:return 2; case T:return 3; void Insert(char *s) int p=0; for (int i=0; si; i+) if (nodep.end) break; if (nodep.sonIndex(si) = -1) node_Num+; nodep.sonIndex(si) = node_Num; nodenode_Num.Init(); p = nodep.sonIndex(si); nodep.end+;void Build_Ac() head = tail = 0; int temp = 0, p = 0, i; qtail+ = 0; while (head tail) temp = qhead+; for (i = 0; i 4; i+) if (nodetemp.soni != -1) if (temp = 0) nodenodetemp.soni.fail = 0; else p = nodetemp.fail; while (p != -1) if (nodep.soni != -1) nodenodetemp.soni.fail = nodep.soni; if (nodenodep.soni.end) nodenodetemp.soni.end+; break; p = nodep.fail; if (p = -1) nodenodetemp.soni.fail = 0; qtail+ = nodetemp.soni; void MatrixMul(_int64 bsize, _int64 csize, int sz) int i, j, k; _int64 tempsizesize = 0; for (i = 0; i sz; i+) for (j = 0; j sz; j+) for (k = 0; k = Mod) tempij %= Mod; for (i = 0; i sz; i+) for (j = 0; j 0) if (n&1) MatrixMul(tot,a, sz); MatrixMul(a, a, sz); n = 1; int N = 2000000000;int M;char word14;_int64 totsizesize;int main() int i, j; while (scanf(%d%d, &M, &N) != EOF) node_Num = 0; node0.Init(); memset(g, 0, sizeof(g); for (i = 0; i M; i+) scanf(%s, word); Insert(word); Build_Ac(); node_Num+; for (i = 0; i node_Num; i+) if(!nodei.end) for (j = 0; j 4; j+) if (nodei.sonj != -1 & nodenodei.sonj.end=0) ginodei.sonj+; else if (nodei.sonj= -1) if (i=0) g00+; else int temp = i; while (nodetemp.sonj= -1) if (temp=0)break; temp = nodetemp.fail; if(nodetemp.sonj != -1 & nodenodetemp.sonj.end=0) ginodetemp.sonj+; else if (nodetemp.sonj= -1& temp=0) gi0+; mem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 襟江小学模拟考试题目及答案
- 园林施工验收流程解析
- 项目竣工验收及移交管理方案
- 环境照明设计与施工方案
- 钢结构产业园设计与施工一体化方案
- 中专招聘笔试真题及答案
- 2025年医院常规考试试题及答案
- 2025年产品道路运输题库及答案
- racemic-Jasmonic-L-isoleucine-racemic-JA-L-Ile-生命科学试剂-MCE
- R-6-Propyl-2-thiophen-2-yl-ethyl-amino-5-6-7-8-tetrahydronaphthalen-1-ol-hydrochloride-生命科学试剂-MCE
- GB/T 20671.4-2006非金属垫片材料分类体系及试验方法第4部分:垫片材料密封性试验方法
- 灌肠分类、操作及并发症处理
- 热镀锌钢管技术标准
- 虚拟现实与增强现实头戴显示关键技术及应用项目
- 《电力工业企业档案分类规则0大类》(1992年修订版)
- (人教版三年级上册)数学时间的计算课件
- GB∕T 26520-2021 工业氯化钙-行业标准
- 温州医科大学《儿科学》支气管肺炎
- 常见传染病预防知识ppt-共47页课件
- 路灯基础开挖报验申请表
- 建筑材料送检指南(广东省2018完整版)
评论
0/150
提交评论