ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

luogu 4208 [JSOI2008]最小生成树计数

2019-09-14 09:02:57  阅读:308  来源: 互联网

标签:输出 不同 luogu JSOI2008 最小 生成 4208 题解 树中


题目描述

现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方案数对31011的模就可以了。

输入格式

第一行包含两个数,n和m,其中1<=n<=100; 1<=m<=1000; 表示该无向图的节点数和边数。每个节点用1~n的整数编号。

接下来的m行,每行包含两个整数:a, b, c,表示节点a, b之间的边的权值为c,其中1<=c<=1,000,000,000。

数据保证不会出现自回边和重边。注意:具有相同权值的边不会超过10条。

输出格式

输出不同的最小生成树有多少个。你只需要输出数量对31011的模就可以了。

输入输出样例

输入 #1
4 6
1 2 1
1 3 1
1 4 1
2 3 2
2 4 1
3 4 1
输出 #1
8

说明/提示

说明 1<=n<=100; 1<=m<=1000;1≤ci​≤109

分析

很妙的一道暴搜(?)题

是的,暴搜,真是一个优秀的算法

正解什么矩阵树,高斯消元啥的

我暴搜流派就是流弊


先放几个写得不错的题解:

题解1hzwer大佬

题解2luogu题解

题解3神奇的证明

怎么搜,首先一个结论:

对于最小生成树的一个替代边,必有替代边等于最小生成树中的一边,并与这一边连接了同两个连通块

所以,对于最小生成树的不同方案,相同长度的边的个数是一样的

我们可以对相同长度的边进行暴搜(选/不选),最后判断是否与最小生成树中的个数相同来判断是否合法‘’

用乘法原理,将各个不同长度的边的方案相乘,的到最终方案数

为你,所向披靡!

标签:输出,不同,luogu,JSOI2008,最小,生成,4208,题解,树中
来源: https://www.cnblogs.com/Mandy-H-Y/p/11514241.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有