博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 658(Dijkstra)
阅读量:6872 次
发布时间:2019-06-26

本文共 796 字,大约阅读时间需要 2 分钟。

题意:对于一个软件有若干个bug和若干个补丁告诉你打每个补丁需要的状态和打完后的状态还有打每个补丁的费用,让你求把软件修好的最小费用。

思路:这道就是就是最短路然后再加上状态压缩存储,把+号与-号分开存在两个变量中,然后在Dijkstra执行的时候把补丁看成边,软件状态看成点就行了,别的都一样。

代码如下:

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #define ll long long10 #define eps 1E-811 #define INF 500000112 #define LEN 11113 14 using namespace std;15 16 typedef pair
pii;17 int n, m, vis[1<<21]; 18 19 struct V{20 int val, bfix, bocr, efix, eocr;21 };22 23 V vex[LEN];24 25 struct S{26 int val, st;27 bool operator<(const S b) const28 { return val
, greater
> q;34 q.push(make_pair(0, (1<
View Code

 

转载于:https://www.cnblogs.com/shu-xiaohao/p/3475761.html

你可能感兴趣的文章
mysql一键编译安装脚本,MySQL 主主实施部署,及读写分离
查看>>
zabbix之固定端口监控redis ,zabbix监控memcached
查看>>
[1line]用wget镜像网站
查看>>
PHP画图时出现“因其本身有错无法显示”的问题的解决办法
查看>>
查看和修改awr报告保留时间
查看>>
虚拟化与云计算也跳不出的成本怪圈——新时代下的“安迪-比尔定律”分析
查看>>
fedora 17 gnome 添加打开终端快捷键
查看>>
微信浏览器返回上一页停留在原位置
查看>>
nfs服务器的搭建和挂载使用
查看>>
我的友情链接
查看>>
jQuery怎么判断table里是否有可见的tr
查看>>
系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
查看>>
fork()
查看>>
Java8 - 日期和时间实用技巧
查看>>
Java记录 -58- Iterator 迭代器
查看>>
RabbitMQ入门(5)--主题
查看>>
菜鸟如何使用GoEasy实现第一个web实时消息推送
查看>>
LNMMP架构的安装配置和功能的实现
查看>>
几个设置让你的邮箱不会爆满
查看>>
我的友情链接
查看>>