把数组竖起来,从上往下走。

如果当前位置是竖着乘的,那么第一个点标记为1.否则标记为0.

样例最终的状态为:

0 0 1

0 1 0

1 0 0

0 0 0

#include<iostream>
#include<cmath>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#define max(a,b) ((a)>(b)?(a):(b))
using namespace std;
int maps[1010][11];
int dp[1010][11];
int pan(int x,int y)
{
int i;
for(i=0;i<3;i++)
{
int tt=(1<<i);
if((x&tt)&&(y&tt))return 0;
}
return 1;
}
int add(int x,int y,int z)
{
int ans=0;
int ss[4];
int i;
for(i=0;i<3;i++)
{
if(x&(1<<i))ss[i+1]=1;
else ss[i+1]=0;
}
for(i=0;i<3;i++)
{
if(y&(1<<i))
{
ans+=maps[z-1][i+1]*maps[z][i+1];
ss[i+1]=1;
}
}
int t1,t2;
t1=t2=0;
if(ss[1]==0&&ss[2]==0)t1=maps[z][1]*maps[z][2];
if(ss[2]==0&&ss[3]==0)t2=maps[z][2]*maps[z][3];
ans+=max(t1,t2);
return ans;
}
int main()
{
int i,j,k,n;
int cas=0;
while(~scanf("%d",&n)&n)
{
cas++;
memset(maps,0,sizeof(maps));
memset(dp,0,sizeof(dp));
for(i=1;i<=3;i++)
{
for(j=1;j<=n;j++)
{
scanf("%d",&maps[j][i]);
}
}
for(i=1;i<=n;i++)
{
for(j=0;j<(1<<3);j++)
{
for(k=0;k<(1<<3);k++)
{
if(pan(j,k))
{
dp[i][j]=max(dp[i-1][k]+add(j,k,i),dp[i][j]);
}
}
}
}
int maxx=-1;
for(j=0;j<(1<<3);j++)
{
maxx=max(maxx,dp[n][j]);
}
printf("Case %d: ",cas);
cout<<maxx<<endl;
}
}

sdut-2725-The Urge to Merge-状压DP的更多相关文章

  1. UVAlive 6560 - The Urge to Merge(状压dp)

    LA 6560 - The Urge to Merge option=com_onlinejudge&Itemid=8&page=show_problem&problem=45 ...

  2. BZOJ 1087: [SCOI2005]互不侵犯King [状压DP]

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3336  Solved: 1936[Submit][ ...

  3. nefu1109 游戏争霸赛(状压dp)

    题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1109 //我们校赛的一个题,状压dp,还在的人用1表示,被淘汰 ...

  4. poj3311 TSP经典状压dp(Traveling Saleman Problem)

    题目链接:http://poj.org/problem?id=3311 题意:一个人到一些地方送披萨,要求找到一条路径能够遍历每一个城市后返回出发点,并且路径距离最短.最后输出最短距离即可.注意:每一 ...

  5. [NOIP2016]愤怒的小鸟 D2 T3 状压DP

    [NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可 ...

  6. 【BZOJ2073】[POI2004]PRZ 状压DP

    [BZOJ2073][POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍 ...

  7. bzoj3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一(spfa+状压DP)

    数据最多14个有宝藏的地方,所以可以想到用状压dp 可以先预处理出每个i到j的路径中最小权值的最大值dis[i][j] 本来想用Floyd写,无奈太弱调不出来..后来改用spfa 然后进行dp,这基本 ...

  8. HDU 1074 Doing Homework (状压dp)

    题意:给你N(<=15)个作业,每个作业有最晚提交时间与需要做的时间,每次只能做一个作业,每个作业超出最晚提交时间一天扣一分 求出扣的最小分数,并输出做作业的顺序.如果有多个最小分数一样的话,则 ...

  9. 【BZOJ1688】[Usaco2005 Open]Disease Manangement 疾病管理 状压DP

    [BZOJ1688][Usaco2005 Open]Disease Manangement 疾病管理 Description Alas! A set of D (1 <= D <= 15) ...

  10. 【BZOJ1725】[Usaco2006 Nov]Corn Fields牧场的安排 状压DP

    [BZOJ1725][Usaco2006 Nov]Corn Fields牧场的安排 Description Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行(1<=M< ...

随机推荐

  1. php文件缓存

    1.最新代码 <?php class cache { private static $_instance = null; protected $_options = array( 'cache_ ...

  2. Mindjet MindManager 2012 从模板创建出现“Runtime Error pure virtual function call” 解决方法

    我的Mindjet MindManager 2012 Pro也就是MindManager10 在应用模板之后总会显示 Microsoft Visual C++ Runtime Library Runt ...

  3. GCC选项-Xlinker和-Wl区别

    写下给自己备忘,在一次使用GCC的过程中发现了原来传递给链接器ld可以同时使用Xlinker和Wl两种命令,这两个命令都可以正确传递给ld作为使用,现在总结下两者的区别. Xlinker后面跟的参数第 ...

  4. myeclipse 添加服务器运行时环境

    像servlet-api.jar.servlet-api.jar服务器能提供的包 解决方法如下: 1,File->New->Other->Server->Server(注意在n ...

  5. 各大Oj平台介绍[转]

    1.题库与网站资源题库-在线提交系统(Online Judge)简介   下面是几个比较大的在线提交系统(OnlineJudge)里面有大量历年的竞赛题目,注册一个ID,然后用自己熟悉的语言(一般有P ...

  6. C#反射(一) 【转】

    在还不太熟悉反射的昨天,以为反射很神秘,在网上到处找答案.今天找了段代码敲了一下,茅塞顿开!其实反射也就那么简单的一回事!    反射是一种机制,通过这种机制我们可以知道一个未知类型的类型信息.比如, ...

  7. 手动删除文件夹exe病毒并恢复原来文件夹

    转自手动删除文件夹exe病毒并恢复原来文件夹 经常使用U盘.MP3.MP4等移动硬盘的大家,有时是不是会发现,移动硬盘里有现了exe文件,原来本来有一个文件夹的名字是 音乐 ,但后来发现 音乐 这个文 ...

  8. Java cookie的使用

    1.cookie是什么? cookie是web应用当中非常常用的一种技术,用于储存某些特定的用户信息. 2.cookie的作用? 在用户登陆时将用户的信息存放在cookie中,用户在一定的时间中再次登 ...

  9. 重载VerifyRenderingInServerForm

    重载VerifyRenderingInServerForm 今天在做一个AjaxPro的应用时,VerifyRenderingInServerForm给我带来了麻烦,在网上找了找,发现大多数人的解决方 ...

  10. VM Depot 镜像新增系列II – 学习管理系统,内容管理系统以及平台管理工具

     发布于 2014-06-23 作者 刘 天栋 继上周企业管理软件和电子商务镜像的加盟之后,我们看到又有一批内容管理解决方案(CMS),学习管理解决方案(LMS)以及平台管理工具 (如 Open ...