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