摘要:
寻找最小环 vis[i]表示i属于哪个图的连通分量,0表示没有访问过 lev[i]表示在当前连通分量中第几个访问到i的 如果vis[x]==0 继续dfs 否则 如果访问到了上一个联通分量的内容 return 否则 即访问到的本连通分量中已经访问的点,出现环,则用这个环的长度dep-lev[next 阅读全文
posted @ 2016-06-22 13:09
FuTaimeng
阅读(159)
评论(0)
推荐(0)
摘要:
一开始暴搜,超时3个点... 后来看了题解: 首先,两个点的距离为2当且仅当它们都与一个点直接相连 反过来说,一个点所有的出边的终点都是互相距离2的(最大值可以依靠这个方法,前向星处理的时候将每个点的最大出点和次大出点存起来,最后过一遍比较乘积) 那么,所有点对的权值和就是每一个点所产生的点对权值和 阅读全文
posted @ 2016-06-22 11:27
FuTaimeng
阅读(223)
评论(0)
推荐(0)
摘要:
点的序号很大,存不过来,但点数较少,因此用离散化,然后再用并查集。 用map进行离散化,过8个点,2个超时 代码: 阅读全文
posted @ 2016-06-22 10:05
FuTaimeng
阅读(206)
评论(0)
推荐(0)
摘要:
pa[i]代表i的father pre[i]代表i之前有多少个 sum[i]代表i所在的整列有多少个 cc为命令类型,x y为命令参数, fx fy分别为x y的father 当cc==‘M’时,合并x y,因为是把x所在队列放到y所在队列后面,所以要pre[fx]=sum[fy](剩下的pre在f 阅读全文
posted @ 2016-06-22 09:59
FuTaimeng
阅读(254)
评论(0)
推荐(0)

浙公网安备 33010602011771号