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