链接

预处理出只有四个1的情况存入数组中 然后状压下

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
using namespace std;
#define N 1050000
int dp[][N];
int q[][N];
int pt[N];
bool f[N];
struct node
{
int x,y;
}pp[];
bool cmp(node a,node b)
{
if(a.x==b.x)
return a.y<b.y;
return a.x<b.x;
}
int main()
{
int n,i,j,k,o,p[][];
while(scanf("%d",&n)!=EOF)
{
if(n==-)
break;
memset(dp,,sizeof(dp));
for(i = ; i < n ; i++)
scanf("%d%d",&pp[i].x,&pp[i].y);
sort(pp,pp+n,cmp);
k = ;
for(i = ; i < <<n ; i++)
{
o = ;
for(j = ; j < n ; j++)
{
if(i&(<<j))
{
o++;
p[o][] = pp[j].x;
p[o][] = pp[j].y;
}
}
if(o==)
{
int x1,x2;
if(p[][]==p[][]&&p[][]==p[][]&&p[][]==p[][]&&p[][]==p[][])
{
x1 = p[][]-p[][];
x2 = p[][]-p[][];
if(x1==x2)
{
k++;
q[][k] = i;
dp[][i] = ;
pt[k] = i;
}
}
}
}
int tt = k;
o=k;
for(i = ; i <= n/+ ; i++)
{
k = tt;tt=;
for(j = ; j <= k ; j++)
{
for(int g = ; g <= o ; g++)
{
if(q[(i-)%][j]&pt[g])
continue;
int x = q[(i-)%][j]+pt[g];
dp[i%][x] = max(dp[i%][x],dp[(i-)%][q[(i-)%][j]]+);
if(!f[x])
{
f[x] = ;
tt++;
q[i%][tt] = x;
}
}
}
}
int ans=;
for(i = ; i < <<n ; i++)
{
ans = max(ans,max(dp[][i],dp[][i]));
}
printf("%d\n",ans);
}
return ;
}

HDU4739Zhuge Liang's Mines(状压)的更多相关文章

  1. hdu 4739 Zhuge Liang's Mines 随机化

    Zhuge Liang's Mines Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...

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

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

  3. 【BZOJ-4197】寿司晚宴 状压DP

    4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 694  Solved: 440[Submit][Status] ...

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

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

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

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

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

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

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

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

  8. 【专业找水题】状压dp最水题,没有之一

    题目链接 现在代码能力没上升,倒是越来越会找水题了(比例题还水的裸题你值得拥有) 这网站不是针对竞赛的,所以时空限制都很宽松 然后就让我水过去了 对于每个点,包括自己的前m个元素是否取都是一种状态,所 ...

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

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

随机推荐

  1. IOS-UI-UIDynamic(二)

    UIPushBehavior :推动效果 UIAttachmentBehavior:附着效果 UISnapBehavior:迅速移动效果 一.重要的属性 UIPushBehavior :推动效果 ty ...

  2. Unable to make the session state request to the session state server处理方法

    Server Error in '/' Application. Unable to make the session state request to the session state serve ...

  3. file_put_contents() 图片保存 函数成功之后返回值

    今天弄图片保存时,用到file_put_contents()来保存图片,运行了几次,发下一直没有数据出来,以为是这个函数没操作成功 于是查看了下这个函数的用法和返回值,发现我输出的返回都正确,后来才发 ...

  4. php导出word(可包含图片)

    为大家介绍一个 php 生成 导出word(可包含图片)的代码,有需要的朋友可以参考下. 之前介绍过php生成word的例子,只是不能包含图片与链接. 今天 为大家介绍一个 php 生成 导出word ...

  5. eclipse Ctrl +左键查看源代码Source not found

    Windows->Preferences->Java->Installed JREs->...(default)->Edit->Program Files\Java ...

  6. linux正则表达式之-基础正则表达式(基于grep)

    linux正则表达式: 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法,如:假设@代表123456,!代表abcde.通过定义的这些特殊符号的铺助,系统管理员就可以快速的过滤,替换或 ...

  7. [C和指针] rearrange.c

    C和指针_程序1.1_重排字符 /* ** 这个程序从标准输入(键盘)中读取输入行并按需求处理后在标准输出(屏幕)中打印, ** 每个输入行的后面一行是该行按需求处理后的输出内容. ** ** 输入的 ...

  8. 一步步学习NHibernate(1)——NHibernate介绍

    请注明转载地址:http://www.cnblogs.com/arhat 第十五章 从本章开始,老魏将给大家一起学习NHibernate这个流行的ORM框架,本来老魏想要和大家一起探讨微软的EF框架的 ...

  9. C++学习笔记——一只P转C的OIer的学习历程

    2015-11-29 第一天接触c++(也不能这不说,看c++的程序也看了不少).重新找回了当时学pascal的感觉,从Hello World 开始写起,感觉自己的智商降低了,期间犯了各种弱智到不能再 ...

  10. 取得inputStream的长度

    1.网络下载文件 URL url = new URL(strUrl); HttpURLConnection httpconn = (HttpURLConnection)url.openConnecti ...