状压dp,由于枚举两维状态会GG,所以只枚举当前位置前m个的状态,就是这个样子大概= =;

呆马:

 #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <vector>
#include <queue>
#define inf 1000000007
#define maxn 130
#define maxm 18 using namespace std; int f[][maxm][];
int bit[][maxm];
char s[maxn][maxm];
int len[maxn];
int n,m,mxbit,hi; int up(int x, int y, int mask)
{
int cnt=len[x-], now=;;
for (int i=y;i<m;i++) cnt-=bit[mask][i];
for (int i=;i<y;i++) now+=bit[mask][i];
if (bit[mask][m] && s[x-][cnt-]==s[x][now]) return ;
return ;
} int lf(int x, int y, int mask)
{
int now=;
for (int i=;i<y;i++) now+=bit[mask][i];
if (bit[mask][] && s[x][now-]==s[x][now]) return ;
return ;
} int cal(int y, int mask)
{
int now=;
for (int i=;i<=y;i++) now+=bit[mask][i];
return now;
} void get_mask()
{
for (int i=;i<=mxbit;i++)
{
int now=i;
for (int j=;j<=m;j++)
{
bit[i][j]=now%;
now/=;
}
}
} int main()
{
scanf("%d%d",&n,&m);
mxbit=(<<m)-;
get_mask();
for (int i=;i<=n;i++)
{
scanf("%s",s[i]);
len[i]=strlen(s[i]);
}
for (int i=;i<=;i++)
for (int j=;j<=m;j++)
{
for (int mask=;mask<=mxbit;mask++)
f[i][j][mask]=-inf;
}
f[][][]=f[][][]=;
for (int i=;i<=n;i++)
{
int p=i&;
for (int j=;j<=m;j++)
for (int mask=;mask<=mxbit;mask++)
{
int tmp=(mask<<)&mxbit;
if (i== && j==) continue;
if (j==)
{
if (cal(m,mask)!=len[i-]) continue;
f[p][j][tmp]=max(f[p][j][tmp],f[p^][m][mask]);
f[p][j][tmp|]=max(f[p][j][tmp|],f[p^][m][mask]+*up(i,j,mask));
}
else
{
if (cal(j-,mask)>len[i]) continue;
f[p][j][tmp]=max(f[p][j][tmp],f[p][j-][mask]);
if (cal(j-,mask)<len[i])
f[p][j][tmp|]=max(f[p][j][tmp|],f[p][j-][mask]+*lf(i,j,mask)+*up(i,j,mask)); }
}
}
int ans=;
for (int mask=;mask<=mxbit;mask++)
if (cal(m,mask)==len[n])
ans=max(ans,f[n&][m][mask]);
printf("%d\n",ans);
return ;
}

Connect

JAG Summer 2012 Day 4 C Connect的更多相关文章

  1. Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程

    原文:Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程 Red Gate系列之八 SQL Connect 1.1.1.19 ...

  2. 逻辑网络(Logical Network)

    Introduction The VMM documentation indicates that “A logical network is used to organize and simplif ...

  3. Netflix:当你按下“播放”的时候发生了什么?

    从用户端来看,使用Netflix是很简单的,按下播放键之后视频就像变魔术一样完美呈现了.看起来很容易是吧?然而实际不是这样的.了解过云计算的人可能会简单地以为,既然Netflix使用AWS来提供视频服 ...

  4. 打开Visual Studio 2012的解决方案 连接 Dynamics CRM 2011 的Connect to Dynamics CRM Server 在其工具下没有显示

    一.使用TFS 代码管理,发现Visual Studio 2012 菜单栏 工具下的Connect to Dynamics CRM Server 没有显示. 平常打开VS下的工具都会出现Connect ...

  5. connect/express 的参考

    1.Node.js[5] connect & express简介    对connect中间件的分类比较容易理解. http://www.cnblogs.com/luics/archive/2 ...

  6. Symantec Backup Exec 2012 Agent For Linux安装

    Backup Exec 2012 介绍 Backup Exec 2012 是一种为虚拟和物理环境提供保护的集成产品,能够简化备份和灾难恢复,并提供了无可匹敌的恢复功能.借助于强大的 Symantec ...

  7. SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑

    本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症.可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? ...

  8. Windows Server 2012 虚拟化实战:域

    在Windows Server系统中,一些服务必需要构建在域的环境中,这不仅是为了统一验证和资源共享,同时也是为了网络安全.为构建虚拟化测试,我们需要先搭建域环境.之前先来大概了解一下域. 在使用工作 ...

  9. [转]Nodejs基础中间件Connect

    Nodejs基础中间件Connect 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的J ...

随机推荐

  1. tomcat下jsp要加工程名后缀才能访问的问题解决

    今天发现一个部署的项目,在tomcat中配置了去掉工程名,直接通过域名访问.配置后其它的html.动态请求等都可以不带工程名访问,但是只要访问jsp页面就报404错误,加上工程名访问jsp却又正常. ...

  2. 在Ubuntu下配置运行Hadoop2.4.0单节点配置

    还没有修改hosts,请先按前文修改. 还没安装java的,请按照前文配置. (1)增加用户并设立公钥: sudo addgroup hadoop sudo adduser --ingroup had ...

  3. Unity学习疑问记录之图片画质

    http://blog.csdn.net/candycat1992/article/details/22794773

  4. jsp 页面标签 积累

    http://www.cnblogs.com/xiadongqing/p/5232592.html <%@ taglib %>引入标签库 ========================= ...

  5. C#.NET中数组、ArrayList和List三者的区别

    数组在C#.NET中是最早出现的,在内存中是顺序连续存储的,所以它的索引速度非常快,赋值与修改元素也很简单:但是,也正因为数组是顺序连续存储的,在两个数据间插入数据是很不方便的,而且在声明数组的时候必 ...

  6. 关于(object sender, EventArgs e)

      sender是事件源 就是指发起这个事件的对象(控件)//表示触发事件的那个控件比如说你按下按钮,那么sender就是按钮 又如:textboxchange,sender就是该textbox,在事 ...

  7. java 关键字查询时的转义操作

    /** * mysql模糊查询时,如果查询关键字本身包含_和%,需要转义 * * @param queryKey 查询关键字 * @return 转义字符 */ private String conv ...

  8. jquery中css获取颜色属性

    Jquery获取颜色的方法为: var color = $(元素).css("color"); alert(color); 可以看到color如这样的格式; 但是; 因为rgb(0 ...

  9. jquery使用注意点以及建议

    jquery是一个非常优秀的js框架,相信大部分人都用过,也都非常熟悉它的应用,用起来也非常简单,基本的操作也都不用说了.这里不在罗列jquery的api,总结下需要注意的点,都是平时容易犯错误的地方 ...

  10. 如何设置jvm内存

    本文向大家简单介绍一下进行JVM内存设置几种方法,安装Java开发软件时,默认安装包含两个文件夹,一个JDK(Java开发工具箱),一个JRE(Java运行环境,内含JVM),其中JDK内另含一个JR ...