摘要: 用于求稀疏图上的全局最短路。 考虑将带负权的图变为不带负权的图,再跑$n$次Dijkstra。 方法:新建点S,向所有点连边权为$0$的边,然后以S为起点跑SPFA。然后将每条边的权值重新赋为$dist[u\Rightarrow v]+dj[u] dj[v]$即可。 阅读全文
posted @ 2018-09-27 20:38 Utoрia 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 二分采用以下模板化的代码: 最后得到的答案满足checked(calc(ans))&&!checked(calc(ans+1))。 注意,该结构 不能修改 。能修改的是calc()和checked()。如果限制条件要求方向相反,就将限制条件反转一下。 20180928Upd:也可采用另一种模板: 一 阅读全文
posted @ 2018-09-27 16:56 Utoрia 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 边权皆为正时,有最短路DAG。 最短路DAG代表了从原点到每个点的 所有 最短路。 最短路树个数=最短路DAG生成树个数。用DAG生成树计数即可。复杂度$O(n+m)$。 阅读全文
posted @ 2018-09-27 16:47 Utoрia 阅读(478) 评论(0) 推荐(0) 编辑