摘要: Dij的核心思想:全局最小值不会被其他节点更新,因此得到最小值后只需要扩展一次即可。 概念:扩展、出队 注意:vis[ ]数组表示的是每个节点是否扩展过,因此开始时vis[st]不置1。 时间复杂度$O(m*log(n))$ 代码如下: #include <bits/stdc++.h> using 阅读全文
posted @ 2018-10-18 15:10 shellpicker 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 这是一道比较综合的动态规划问题。 首先,根据题目中的从N个人中选出M个人,并且要使得某个目标函数最优,可以想到是背包问题,且因为要取出M个人,人数也应该作为背包体积的一个维度。 其次,要求输出路径,因此不能进行滚动数组优化(优化后无法记录状态转移途径)。 再次观察要求最优的函数,是一个相减取绝对值的 阅读全文
posted @ 2018-10-18 14:17 shellpicker 阅读(127) 评论(0) 推荐(0) 编辑