JAG Summer 2012 Day 4 C Connect
状压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的更多相关文章
- 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 ...
- 逻辑网络(Logical Network)
Introduction The VMM documentation indicates that “A logical network is used to organize and simplif ...
- Netflix:当你按下“播放”的时候发生了什么?
从用户端来看,使用Netflix是很简单的,按下播放键之后视频就像变魔术一样完美呈现了.看起来很容易是吧?然而实际不是这样的.了解过云计算的人可能会简单地以为,既然Netflix使用AWS来提供视频服 ...
- 打开Visual Studio 2012的解决方案 连接 Dynamics CRM 2011 的Connect to Dynamics CRM Server 在其工具下没有显示
一.使用TFS 代码管理,发现Visual Studio 2012 菜单栏 工具下的Connect to Dynamics CRM Server 没有显示. 平常打开VS下的工具都会出现Connect ...
- connect/express 的参考
1.Node.js[5] connect & express简介 对connect中间件的分类比较容易理解. http://www.cnblogs.com/luics/archive/2 ...
- Symantec Backup Exec 2012 Agent For Linux安装
Backup Exec 2012 介绍 Backup Exec 2012 是一种为虚拟和物理环境提供保护的集成产品,能够简化备份和灾难恢复,并提供了无可匹敌的恢复功能.借助于强大的 Symantec ...
- SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑
本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症.可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? ...
- Windows Server 2012 虚拟化实战:域
在Windows Server系统中,一些服务必需要构建在域的环境中,这不仅是为了统一验证和资源共享,同时也是为了网络安全.为构建虚拟化测试,我们需要先搭建域环境.之前先来大概了解一下域. 在使用工作 ...
- [转]Nodejs基础中间件Connect
Nodejs基础中间件Connect 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的J ...
随机推荐
- EasyTouch绑定事件在电脑上点击有效Android上无效的解决方法
最近做一个RPG类的游戏发现使用EasyTouch虚拟摇杆插件在电脑上点击有效Android上无效,查找资料发现是Easy Joystick中的一个属性interaction type要设置成 Dir ...
- AnjularJS异步编程 Promise和$q
Promise,是一种异步处理模式. js代码的函数嵌套会使得程序执行异步代码时很难调试.因为多重嵌套的函数无法确定何时触发回调. 如: funA(arg1,arg2,function(){ func ...
- Codeforces Round #383 (Div. 2) D 分组背包
给出一群女孩的重量和颜值 和她们的朋友关系 现在有一个舞台 ab是朋友 bc是朋友 ac就是朋友 给出最大承重 可以邀请这些女孩来玩 对于每一个朋友团体 全邀请or邀请一个or不邀请 问能邀请的女孩的 ...
- Xamarin Android 绑定jar库同时将so库打包进去
1.在创建的Bindings Library项目中,新建Assets目录: 2.Assets目录下再分别创建armeabi,armeabi-v7a,x86三个目录: 3.将so文件分布copy到三个目 ...
- mongodb操作命令
连接mongodb:(mongo命令打开的是一个javascript shell.所以js语法在这里面都行得通)mongo 192.168.18.xx:27088/ups -uusername -pp ...
- Approaches to Vector Computation
COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION
- JavaScript对象属性(一)
对象object 对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的. 这是一个示例对象: var cat = { "name": "W ...
- Sping
- 我理解的IOC技术在Java和C#中比较分析
一直想用心写这个系列的文章,其实看得越多,也就越觉得自己在这方面的功力太浅,也就越不想班门弄斧啦,作为一个开篇,我想把这个技术深层次化,在之前的.net的一个MVC系列文章其实已经涉及到了,只是.ne ...
- SpringMVC常用配置-Controller返回格式化数据如JSON、XML的配置方式和机制