摘要: $n$非常的小,结合题目计算式可以想到$O(n^3)$暴枚$s,t,v$,看$v$在不在$s\to t$最短路上($dis_{s,v}+dis_{v,t}=dis_{s,v}$是$v$在两点最短路上的充要条件——很好证),在则统计$\frac{cnt_{s,v}\times cnt_{v,t}}{c 阅读全文
posted @ 2019-09-28 20:26 Ametsuji_akiya 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 首先$O(n^2\log n)$暴力很好想,直接每个点出发跑一遍最短路,排$dis$统计一下即可。考虑怎么优化。发现$rank$很小,考虑从$rank$入手。换一种统计方法,看每个点$x$如果作为别的点的兴趣点,可能产生多少贡献。那么别的点$i$到他的最短距离设为$dis_i$,$i$到所有$ran 阅读全文
posted @ 2019-09-28 20:26 Ametsuji_akiya 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 有生以来做过的bzoj比A+B还简单的最水的题。(确信) 不解释。 UPD:据说这题正解应当是矩阵树定理?但是这个不是用来最小生成树计数的么?有生之年会补的。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include 阅读全文
posted @ 2019-09-28 20:26 Ametsuji_akiya 阅读(126) 评论(0) 推荐(0) 编辑
摘要: orz极速暴切此题的hkk。 如果没有保护限制,直接跑最短路,现在到达某些点要先经过保护点,那么在跑dijkstra时候每一轮可以先减少这些点保护数量,如果有恰好点没有保护了,说明这个点就可以走了,且这个点$dis$应当是走完所有保护点时间和走到他本身时间的$max$,把他压入堆。这样之后,如果又有 阅读全文
posted @ 2019-09-28 20:26 Ametsuji_akiya 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 一个最小环裸题。最小环的两种求法dijkstra和Floyd直接参见这里我就是从这里学的,不想写了。 注意这里最重要的一个点是利用了Floyd的dp过程中路径上点不超过$k$这一性质,来枚举环上最大编号并枚举连边,这样另外枚举的两个点的最短路肯定不会经过和$k$连的边。 坑点: 平常inf都开0x3 阅读全文
posted @ 2019-09-28 20:26 Ametsuji_akiya 阅读(170) 评论(0) 推荐(0) 编辑