i 为点,k 为单向边
head[ i ] = k 第一条边
nxt[ k1 ] = k2 下一条边
to[ k ]= i 指向点
val[ k ] =边权
若为双向边,就建两个单向边
void add(int x,int y,int v) { ++cnt; nxt[cnt]=head[x]; to[cnt]=y; val[cnt]=v; head[x]=cnt; }
链式前向星
原文:https://www.cnblogs.com/QAQq/p/10301222.html