博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3691 TRIE图+DP
阅读量:5051 次
发布时间:2019-06-12

本文共 1005 字,大约阅读时间需要 3 分钟。

题意:

已知一个DNA串和一些病毒DNA序列,求出最少改变DNA串中多少个字符,能使得串中不包含任意一个病毒序列。

 

题解:

嗯,和上一个trie图一样,把病毒建成trie,只要母串不能再trie上走到危险节点即可(危险节点就是病毒dna序列的终止的那个被标有fg的节点)。

然后trie图上的dp,要走到危险节点的时候,枚举转移即可。

 

 

View Code
1 #include 
2 #include
3 #include
4 #include
5 #include
6 7 #define M 1111 8 #define N 111 9 #define INF 0x3f3f3f3f10 11 using namespace std;12 13 struct TR14 {15 int son[4]; int f; bool fg;16 }tr[N*N];17 18 int map[N],cnt,q[N*N],n,m,cas;19 char str[N],a[M];20 int dp[M][N*N];21 22 inline void insert(char *s)23 {24 int len=strlen(s+1);25 int now=1;26 for(int i=1;i<=len;i++)27 {28 if(!tr[now].son[map[s[i]]]) tr[now].son[map[s[i]]]=++cnt;29 now=tr[now].son[map[s[i]]];30 }31 tr[now].fg=true;32 }33 34 inline void build()35 {36 int h=1,t=2,sta,now,tmp;37 q[1]=1;38 while(h

 

 

转载于:https://www.cnblogs.com/proverbs/archive/2013/03/05/2945092.html

你可能感兴趣的文章
mongo备份操作
查看>>
8 -- 深入使用Spring -- 3...1 Resource实现类InputStreamResource、ByteArrayResource
查看>>
硬件笔记之Thinkpad T470P更换2K屏幕
查看>>
一个关于vue+mysql+express的全栈项目(六)------ 聊天模型的设计
查看>>
【知识库】-数据库_MySQL 的七种 join
查看>>
.net 写文件上传下载webservice
查看>>
noSQL数据库相关软件介绍(大数据存储时候,必须使用)
查看>>
iOS开发——缩放图片
查看>>
HTTP之URL的快捷方式
查看>>
满世界都是图论
查看>>
配置链路聚合中极小错误——失之毫厘谬以千里
查看>>
【BZOJ4487】[JSOI2015] 染色问题(高维容斥)
查看>>
Ubuntu 环境变量
查看>>
一步一步学MySQL-日志文件
查看>>
bzoj3994: [SDOI2015]约数个数和
查看>>
hdu5306 Gorgeous Sequence
查看>>
Android中使用ListView实现下拉刷新和上拉加载功能
查看>>
proc文件系统的简介
查看>>
连续自然数和
查看>>
[SDOI2015]星际战争
查看>>