基础状态压缩 转移方程为

 dp[j][i] = min(dp[j][i],dp[k][i^(1<<j)] + dis[k][j]);
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
double dp[][<<];
double x[],y[];
double dis[][];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(int i = ;i < n;i++)
scanf("%lf%lf",&x[i],&y[i]);
for(int i = ;i < n;i++)
for(int j = ;j < n;j++)
dis[i][j] = sqrt((x[i]-x[j])*(x[i]-x[j]) + (y[i]-y[j])*(y[i]-y[j]));
for(int i = ;i < n;i++)
{
dp[i][] = ;
for(int j = ;j < (<<n);j++)
dp[i][j] = ;
}
for(int i = ;i < n;i++)
dp[i][<<i] = ;
for(int i = ;i < (<<n);i++)
{
for(int j = ;j < n;j++)
{
for(int k = ;k < n;k++)
{
if( (<<j)&i && (<<k)&i && j != k)
dp[j][i] = min(dp[j][i],dp[k][i^(<<j)] + dis[k][j]);
}
}
}
double Min = 99999999.0;
for(int i = ;i < n;i++)
{
if(dp[i][(<<n) -] < Min)
Min = dp[i][(<<n)-];
}
printf("%.2lf\n",Min);
}
return ;
}

hrbustoj 2130 一笔画(状态压缩)的更多相关文章

  1. POJ 3254. Corn Fields 状态压缩DP (入门级)

    Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9806   Accepted: 5185 Descr ...

  2. HDU 3605:Escape(最大流+状态压缩)

    http://acm.hdu.edu.cn/showproblem.php?pid=3605 题意:有n个人要去到m个星球上,这n个人每个人对m个星球有一个选择,即愿不愿意去,"Y" ...

  3. [HDU 4336] Card Collector (状态压缩概率dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4336 题目大意:有n种卡片,需要吃零食收集,打开零食,出现第i种卡片的概率是p[i],也有可能不出现卡 ...

  4. HDU 4336 Card Collector (期望DP+状态压缩 或者 状态压缩+容斥)

    题意:有N(1<=N<=20)张卡片,每包中含有这些卡片的概率,每包至多一张卡片,可能没有卡片.求需要买多少包才能拿到所以的N张卡片,求次数的期望. 析:期望DP,是很容易看出来的,然后由 ...

  5. codeforces B - Preparing Olympiad(dfs或者状态压缩枚举)

    B. Preparing Olympiad You have n problems. You have estimated the difficulty of the i-th one as inte ...

  6. NOIP2005过河[DP 状态压缩]

    题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...

  7. vijos1426兴奋剂检查(多维费用的背包问题+状态压缩+hash)

    背景 北京奥运会开幕了,这是中国人的骄傲和自豪,中国健儿在运动场上已经创造了一个又一个辉煌,super pig也不例外……………… 描述 虽然兴奋剂是奥运会及其他重要比赛的禁药,是禁止服用的.但是运动 ...

  8. hoj2662 状态压缩dp

    Pieces Assignment My Tags   (Edit)   Source : zhouguyue   Time limit : 1 sec   Memory limit : 64 M S ...

  9. poj3254 状态压缩dp

    题意:给出一个n行m列的草地,1表示肥沃,0表示贫瘠,现在要把一些牛放在肥沃的草地上,但是要求所有牛不能相邻,问你有多少种放法.     分析:假如我们知道第 i-1 行的所有的可以放的情况,那么对于 ...

随机推荐

  1. 你需要简单了解JVM中的内存长什么样子

    下面有关JVM内存,说法错误的是? 1.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的 2.Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接 ...

  2. H5的新应用-拖到页面上的元素

    -------------------------- <script type="text/javascript">                        // ...

  3. lldp中与snmp相关内容agentx

    struct lldpd { int    g_snmp; struct event  *g_snmp_timeout; void   *g_snmp_fds; char   *g_snmp_agen ...

  4. why is agreement hard in a distributed system?

    same question as: why is PAXOS necessary? 1, what if >1 nodes become leaders simultaneously? that ...

  5. updating the chroot

    Ubuntu may stop working after a Chrome OS update. If that's the case, update all the installed targe ...

  6. linux文件权限赋值

    1修改权限     命令:chmod (change mode)     功能:改变文件的读写和执行权限.有符号法和八进制数字法.     选项:(1)符号法:   命令格式:chmod {u|g|o ...

  7. linux 内核协议栈收报流程(一)ixgbe网卡驱动

    首先模块加载insmod ixgbe.ko module_init(ixgbe_init_module); module_init(ixgbe_init_module); { int ret; pr_ ...

  8. JS-将input输入框写入的小写字母全部转换成为大写字母的JS代码

    <input name="htmer" type="text" onkeyup="this.value=this.value.toUpperCa ...

  9. idea 注册机生成密钥代码

    import java.math.BigInteger; import java.util.Date; import java.util.Random; import java.util.zip.CR ...

  10. Windsock套接字I/O模型学习 --- 第三章

    1. WSAAsyncSelect 模型 WSAAsyncSelect 模型比较简单,是为了适应Windows的消息驱动环境而设置的,WSAAsyncSelect 函数自动把套接字设为非阻塞模式.MF ...