状压DP

dp[s][p]用了哪几张票,到哪个节点的最小费用。

注意:G++ %.3lf输出会WA,但C++能过;改成%.3f,C++,G++都能AC

#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<vector>
#include<map>
#include<algorithm>
using namespace std; const double INF = ;
int n, m, p, a, b;
int t[];
struct Edge
{
int to;
int dis;
}e[];
int tot;
vector<int>g[];
double dp[][]; int main()
{
while (~scanf("%d%d%d%d%d", &n, &m, &p, &a, &b))
{
if (n == && m == && p == && a == && b == ) break; tot = ;
for (int i = ; i <= m; i++) g[i].clear();
for (int i = ; i < ( << n); i++)
for (int j = ; j <= m; j++) dp[i][j] = INF; for (int i = ; i < n; i++) scanf("%d", &t[i]);
for (int i = ; i <= p; i++)
{
int u, v, c; scanf("%d%d%d", &u, &v, &c);
e[++tot].to = v; e[tot].dis = c; g[u].push_back(tot);
e[++tot].to = u; e[tot].dis = c; g[v].push_back(tot);
} dp[][a] = ;
for (int i = ; i < ( << n); i++)
{
for (int j = ; j <= m; j++)
{
if (dp[i][j] == INF) continue;
for (int k = ; k < n; k++)
{
if ((i | ( << k)) == i) continue;
for (int s = ; s < g[j].size(); s++)
{
dp[(i | ( << k))][e[g[j][s]].to] = min(
dp[(i | ( << k))][e[g[j][s]].to],
dp[i][j] + 1.0*e[g[j][s]].dis / (1.0*t[k]));
}
}
}
} double ans = INF;
for (int i = ; i < ( << n); i++)
ans = min(ans, dp[i][b]);
if (ans == INF) printf("Impossible\n");
else printf("%.3f\n", ans);
}
return ;
}

POJ 2686 Traveling by Stagecoach的更多相关文章

  1. POJ 2686 Traveling by Stagecoach(状压二维SPFA)

    Traveling by Stagecoach Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3407   Accepted ...

  2. poj 2686 Traveling by Stagecoach ---状态压缩DP

    题意:给出一个简单带权无向图和起止点,以及若干张马车车票,每张车票可以雇到相应数量的马. 点 u, v 间有边时,从 u 到 v 或从 v 到 u 必须用且仅用一张车票,花费的时间为 w(u, v) ...

  3. POJ 2686 Traveling by Stagecoach(状压DP)

    [题目链接] http://poj.org/problem?id=2686 [题目大意] 给出一张无向图,你有n张马车票每张车票可以租用ti匹马, 用一张马车票从一个城市到另一个城市所用的时间为这两个 ...

  4. POJ 2686 Traveling by Stagecoach 壮压DP

    大意是有一个人从某个城市要到另一个城市(点数<=30) 然后有n个马车票,相邻的两个城市走的话要消耗掉一个马车票. 花费的时间呢,是马车票上有个速率值,用边/速率就是花的时间. 问最后这个人花费 ...

  5. POJ 2686 Traveling by Stagecoach (状压DP)

    题意:有一个人从某个城市要到另一个城市, 有n个马车票,相邻的两个城市走的话要消耗掉一个马车票.花费的时间呢,是马车票上有个速率值 ,问最后这个人花费的最短时间是多少. 析:和TSP问题差不多,dp[ ...

  6. poj2686 Traveling by Stagecoach

                    http://poj.org/problem?id=2686                                                  Trav ...

  7. Traveling by Stagecoach(POJ 2686)

    原题如下: Traveling by Stagecoach Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4494   Ac ...

  8. Traveling by Stagecoach 状态压缩裸题

    Traveling by Stagecoach dp[s][v]  从源点到达  v,状态为s,v的最小值.  for循环枚举就行了. #include <iostream> #inclu ...

  9. POJ2686 Traveling by Stagecoach(状压DP+SPFA)

    题目大概是给一张有向图,有n张票,每张票只能使用一次,使用一张票就能用pi匹马拉着走过图上的一条边,走过去花的时间是边权/pi,问从a点走到b点的最少时间是多少. 用dp[u][S]表示当前在u点且用 ...

随机推荐

  1. Json与Gson讲解

    1 json的含义: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于 ...

  2. Windows任务管理器中内存使用、虚拟内存区别及与页面文件的关系

    原文地址:Windows任务管理器中内存使用.虚拟内存区别及与页面文件的关系 虚拟内存(VirtualMemory)是Windows管理所有可用内存的方式.对于32位Windows系统,每个进程所用到 ...

  3. tomcat内存优化问题

    Java内存组成 1) 堆 运行时数据区域,所有类实例和数组的内存均从此处分配.Java 虚拟机启动时创建.对象的堆内存由称为垃圾回收器 的自动内存管理系统回收. 堆由两部分组成: 其中eden+fr ...

  4. ssh The authenticity of host 192.168.0.xxx can't be established

    用ssh登录一个机器(换过ip地址),提示输入yes后,屏幕不断出现y,只有按ctrl + c结束 错误是:The authenticity of host 192.168.0.xxx can't b ...

  5. cc2530-----串口透明传输分析

    Zigbee协议栈学习之串口透明传输实验(SerialApp)流程分析   第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络 //第一步:Z-Stack 由 main()函数开始执行, ...

  6. 学习笔记——Windows7下Android与Cocos2dx的安装配置

    1.下载eclipse.安卓SDK.配置ADT等,android开发必备,略. 2.下载NDK.Cocos2dx.Cygwin 2.1NDK下载,请下载对应的32位或者64的较大的压缩包(较小的只有t ...

  7. cortexm内核 栈的8字节对齐及关键字PRESERVE8

    一.什么是栈对齐? 栈的字节对齐,实际是指栈顶指针须是某字节的整数倍.因此下边对系统栈与MSP,任务栈与PSP,栈对齐与SP对齐 这三对概念不做区分.另外下文提到编译器的时候,实际上是对编译器汇编器连 ...

  8. Redis(2)用jedis实现在java中使用redis

    昨天已经在windows环境下安装使用了redis. 下面准备在java项目中测试使用redis. redis官网推荐使用jedis来访问redis.所以首先准备了jedis的jar包,以及需要依赖的 ...

  9. PHP开源CRM-推荐几个

    http://www.xinyou88.com/about/xcrm.html 因为医院要同步用户到诊统计的信息.是拿着表单来回送.途中大概有20分钟左右.有些机器和互联网可以搞定的事情.人力来做.在 ...

  10. zepto学习之路--核心函数$()的实现

    $()可以说是jquery的精华了,为dom操作带来了极大的灵活和方便.zepto号称“移动版的jquery”,那么它是怎么来实现这个核心函数呢?我们来详细探讨下. 1.首先,我们看下zepto中它是 ...