标签:箱子 连通 ball T2 小球 边数 ans 点数 清北
题目大意:
多组数据,每组给定n,m,表示将n个小球放进m个箱子,每个小球均有两个箱子(可能相同)可放,求所有小球均放好的方案mod998244353的总数。
思路:
算是我和题解思路肥肠相近的一道题可是还是惨遭爆零
考虑将箱子视为点,小球视为边,每一个小球的合法去向连一条无向边,则问题转化为使给定无向图的每一个点赋上一个与边的编号相同的值,使得每条边都有且只有一个相邻点的值与之相同。
对于不同连通块,ans直接相乘
对于点数小于边数的连通块(也即是自己思路中“环套环”的部分),无法分配,ans直接为0
对于边数等于点数的连通块,可以发现是一个环,此时除非环的长度为1,ans=1,否则ans=2(有顺时针和逆时针两种分配方式)
对于边数等于点数-1的连通块,可以发现是一棵树,ans=连通块中的点数
直接DFS遍历所有连通块即可,一组数据的复杂度为O(n)。
代码:
占坑待填qvq
标签:箱子,连通,ball,T2,小球,边数,ans,点数,清北 来源: https://www.cnblogs.com/YoOXiii/p/11336677.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。