链接:https://www.nowcoder.com/acm/contest/114/C
来源:牛客网
时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
给定一张n个点m条边的无向图,求出图中所有简单环的数量。(简单环:简单环又称简单回路,图的顶点序列中,除了第一个顶点和最后一个顶点相同外,其余顶点不重复出现的回路叫简单回路。或者说,若通路或回路不重复地包含相同的边,则它是简单的)
输入描述:
第一行三个数n m k (k在输出描述中提到) 接下来m行每行两个数u,v表示u到v之间存在一条边(无重边)
输出描述:
输出k行每行1个整数 第i个数表示长度%k==i-1的简单环的数量(对9982443

该博客介绍了牛客网上Wannafly挑战赛第17题的解决方案,题目要求在给定的无向图中找出所有简单环的数量。通过将路径转化为二进制状态,并使用动态规划数组f[i][j]记录以i为状态,j为终点的路径数。起点设定为i的最低位1,枚举状态和终点,结合图中直接连接判断是否形成环。由于每个环会被计算两次,因此需要通过求除法逆元进行去重。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



