链接

这题其实是由bug的 一个串包含其它两个串的数据没有 所以就这么水了它吧 只处理两个串的关系就行了

回来补点。。看了huge的博客 发现其实不是有Bug  题意没读清楚 必须首尾相连 像AGCT GC这样就不算。。降低了复杂

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
using namespace std;
#define INF 0x3f3f3f
char s[][];
int k[],o[][],n;
int vis[],ans;
void init()
{
int i,j;
for(i = ; i <= n ; i++)
{
for(j = ; j <= n ; j++)
{
if(i==j)
continue;
o[i][j] = ;
for(int g = ; g < k[i] ; g++)
{
if(s[j][]==s[i][g])
{
int k1 = ,k2 = g+;
while(k1<k[i]&&k2<k[j]&&s[j][k1]==s[i][k2])
{
k1++;
k2++;
}
if(k1==k[i]||k2==k[j])
{
o[i][j] = k1;
break;
}
}
}
}
}
}
void dfs(int x,int v,int sum)
{
if(sum>ans)
return ;
if(v==n)
{
ans = sum;
return ;
}
int i;
for(i = ; i <= n ; i++)
{
if(!vis[i])
{
vis[i] = ;
sum+=(k[i]-o[x][i]);
dfs(i,v+,sum);
sum-=(k[i]-o[x][i]);
vis[i] = ;
}
}
}
int main()
{
int i,t;
scanf("%d",&t);
while(t--)
{
memset(vis,,sizeof(vis));
ans = INF;
scanf("%d%*c",&n);
for(i = ; i <= n ;i++)
{
scanf("%s",s[i]);
k[i] = strlen(s[i]);
}
init();
for(i = ; i <= n ;i++)
{
vis[i] = ;
dfs(i,,k[i]);
vis[i] = ;
}
printf("%d\n",ans);
}
return ;
}

POJ1699Best Sequence(DFS)的更多相关文章

  1. poj1699--Best Sequence(dfs+剪枝)

    题目链接:点击打开链接 题目大意:给出n个字符串.要求组合后的串最短 #include <cstdio> #include <cstring> #include <alg ...

  2. HDU 1560 DNA sequence DFS

    题意:找到一个最短的串,使得所有给出的串是它的子序列,输出最短的串的长度,然后发现这个串最长是40 分析:从所给串的最长长度开始枚举,然后对于每个长度,暴力深搜,枚举当前位是哪一个字母,注意剪枝 注: ...

  3. POJ 1699 Best Sequence dfs

    题目: http://poj.org/problem?id=1699 无意间A了..超时一次,加了一句 if(len > ans)return; 然后就A了,dfs题,没有太多好说的,代码写的效 ...

  4. POJ 1699 Best Sequence (DFS+预处理)

    意甲冠军:看图片是晶莹剔透的,正确的, N连接到第一序列(同样的序列部分).总序列获得最短. 主题链接:http://poj.org/problem?id=1699 ~~~~ 思路就是:将N个序列首尾 ...

  5. 记忆化搜索(DP+DFS) URAL 1183 Brackets Sequence

    题目传送门 /* 记忆化搜索(DP+DFS):dp[i][j] 表示第i到第j个字符,最少要加多少个括号 dp[x][x] = 1 一定要加一个括号:dp[x][y] = 0, x > y; 当 ...

  6. 【DFS+小操作判重】【HDU2610+HDU2611】Sequence

    题意 2610 按照长度优先 位置次之 输出所有不递减序列 2611 按照长度优先 大小次之 输出所有不递减序列 题解不写了 来源于http://www.cnblogs.com/wally/archi ...

  7. POJ--1699 Best Sequence(DP+dfs)

    Best Sequence Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5543 Accepted: 2188 Descrip ...

  8. 【HDU - 1560】DNA sequence (dfs+回溯)

    DNA sequence 直接中文了 题目描述 21世纪是生物科技飞速发展的时代.我们都知道基因是由DNA组成的,而DNA的基本组成单位是A,C,G,T.在现代生物分子计算中,如何找到DNA之间的最长 ...

  9. 【dfs】Sequence Decoding

    Sequence Decoding 题目描述 The amino acids in proteins are classified into two types of elements, hydrop ...

随机推荐

  1. 转:EF调用存储过程、函数

    EF调用存储过程.函数 2014-04-02 09:12:20|  分类: ORM框架|举报|字号 订阅          一.ef4.1 codeFirst 修改表结构 增加字段等 EF code ...

  2. HTML5 Canvas 绘制时钟

    网上会看到很多绘制的时钟,看代码也是云里雾里,自学了下Canvas,觉得不难,就自己做了一个. 先看一下截图: 比较简陋,但是该有的都有了,样式只加了个阴影. html代码就不贴了,就一个canvas ...

  3. FreeMarker在JAVA中应用入门

    在项目中通常有生成XML文件发送到另一个系统的需求,简单的办法可以是用一个XML模板,通过Freemarker替换其中的'Mark'(${}),生成最终的XML文件. 下面记录了一下简单的示例步骤: ...

  4. asp.net导出excel较为简约的代码

    ds为数据源 Response.Buffer = true; Response.AppendHeader("Content-Disposition", "attachme ...

  5. centos 6.4 samba 权限 selinux权限配置

    http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/26/3100444.html(参考) SELINUX 策略 配置好samba后, 输入 ...

  6. one makefile file

    #gcc test.cpp -L. -Wl,-Bdynamic -ltestlib -Wl,-Bstatic -ltestlib -Wl,-Bdynamic #make clean; make ini ...

  7. echarts雷达图

    用echarts展现雷达图的定制 <!doctype html> <html> <head> <meta charset="utf-8"& ...

  8. 省市选择(基于zepto.js)

    效果如下: <div class="clList overflow-h mt75"> <select class="pull-left cl-35 se ...

  9. “微信应用号对行业影响”之一,app开发速来围观

    昨天,微信张小龙的一个讲话刷爆朋友圈,除了4大价值观,最后顺便提到:要推出微信应用号! 其实,价值观也就说说听听,最后顺便提到的微信应用号,才是真正的巨型炸弹. 腾讯挟6亿高粘度用户之重,号令天下,阿 ...

  10. 在Windows Server 2008上部署SVN代码管理总结

    这段时间在公司开发Flex程序,所以使用TortoiseSVN作为团队代码管理器,今天在公司服务器上部署SVN服务器,并实验成功,总结如下: 服务器环境: 操作系统:Windows Server 20 ...