bzoj#P3763. 最小环

最小环

题目描述

给定一个无向图,某些点之间连有一条可以双向通过的边,假设结点 a,ba,b 之间有边,则从 aabb 会得到 ca,bc_{a,b} 个糖果,从 bbaa 会得到 cb,ac_{b,a} 个糖果。

问在图中是否存在一个环,可以无限获得糖果(即边权和为正);如果存在,在这些正环中,点数最少的环有多少个点?

对于环的定义:环是一些点的序列,a1,a2,,aka_1,a_2,\dots,a_ka1a_1a2a_2 相连,a2a_2a3a_3 相连,\dotsaka_ka1a_1 相连。其中 aia_iaja_j 可以重合。对于这个环,它的点数视为 kk

输入格式

第一行包含两个整数 n,mn,m,分别表示点数和边数。

接下来 mm 行,每行 i,j,ci,j,cj,ii,j,c_{i,j},c_{j,i},表示 ii 号点和 jj 号点有一条边,从 iijj 获得 ci,jc_{i,j} 个糖果,从 jjii 获得 cj,ic_{j,i} 个糖果。

输出格式

输出只包含一个整数,表示能够无限获得糖果的环中,最少的点数。
如果不存在那样的环,输出 00

4 4
1 2 -10 3
1 3 1 -10
2 4 -10 -1
3 4 0 -3
4

数据规模与约定

对于 100%100\% 的数据,1n3001 \le n \le 3000mn×(n1)20 \le m \le \frac{n \times (n-1)}{2}104ci,j104-10^4 \le c_{i,j} \le 10^4。数据不存在重边和自环。

此题存在版权,故原 BZOJ 不再支持提交,保留在此只供大家参考题面! 望见谅!