随笔分类 - 图论——最短路
摘要:题面 "题面" 题解 这题不是很难,因为删代价的次数不多,因此我们只需要将最短路中的状态加一维表示已经删了几次,再转移即可 include using namespace std; define R register int define AC 11000 define ac 130000 int
阅读全文
摘要:~~~题面~~~ 题解: 挺好的一道题。 首先我们将所有边反向,跑出n到每个点的最短路,然后f[i][j]表示从i号节点出发,路径长比最短路大j的方案数。 观察到,如果图中出现了0环,那么我们可以通过在环上走无数次来获得无数条不同路径,因此这就无解了。 如果没有0环,当且仅当这张图的最短路图是一个D
阅读全文
摘要:~~~题面~~~ 题解: 考场上看的这道题,,,当时70分算法打挂了,今天才知道这个也是原题。。。。 首先,对于不跟1相邻的边,肯定不会经过两次,因为经过两次就回来了,除了增加路径长度之外没有任何意义。 但是跟1相邻的边是可能会经过2次的,因为虽然增加了路径长度,但这次回来就直接到终点了,所以完全可
阅读全文
摘要:~~~题面~~~ 题解: 吐槽:找了好久的错,换了n种方法,重构一次代码,,,, 最后发现,,, 数组开小了,其实一开始尝试开大了数组,但唯独没有尝试开大手写队列的数组。。。。 思路: 有两种方法,这里都介绍一下吧,分别在时间复杂度和代码复杂度上各有优势。 第一种:时间复杂度更优,代码复杂 观察到转
阅读全文

浙公网安备 33010602011771号