POI2009 WIE-Hexer
十月 16, 2020
1644
题意简述
一个 n 个点 m 条边的无向带权连通图,每条边上有一些不同属性的怪物,每个点有一些铁匠可以帮你打造一些不同属性的大宝剑,对应属性的大宝剑可以击败对应属性的怪物而且不会掉耐久。现在你在 1 号节点,问你安全走到 n 号节点的最小边权和是多少,如果一定到不了输出无解。
一些提示性的数据范围:怪物种类不会超过 13。
解题思路
首先要存每条边和每个点的怪物种类,这个第一想法是二维数组,但是看到怪物种类不超过 13 那就直接状压。
接下来用一个类似分层图的思想,令 dist[i][stat]
表示当前在 i 节点,可打怪的状态为 stat 的最短路径,和分层图一样跑最短路即可
关键代码实现
代码至今没调过,就只放一个 Dijkstra 吧,看看就行。
1 |
|
- 本文作者:Handwer STD
- 本文链接:https://blog.handwer-std.top/2020-10-16/POI2009-WIE-Hexer/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!