这是一个来自Interviewstreet的难题:
假设我们有一个包含N个城市的国家。每一天,我们都会选择两个没有道路连接的城市并在它们之间建造一条道路。我们等概率地选择每对不相邻的城市。设X为获得连通的国家所需的天数。求出X的期望值,输出其整数部分。
实际上,他们想要问的是在随机图G(n, m)中需要多少条边m(平均)才能使其连通。
编写了一个可以执行实验的程序后,我得到了这个“解决方案”,它通过了9/10的测试。
假设我们有一个包含N个城市的国家。每一天,我们都会选择两个没有道路连接的城市并在它们之间建造一条道路。我们等概率地选择每对不相邻的城市。设X为获得连通的国家所需的天数。求出X的期望值,输出其整数部分。
实际上,他们想要问的是在随机图G(n, m)中需要多少条边m(平均)才能使其连通。
编写了一个可以执行实验的程序后,我得到了这个“解决方案”,它通过了9/10的测试。
$f = fopen('php://stdin', 'r');
$n = intval(fgets($f));
echo round(1.25 * $n * log($n, 10));
那么这可以用一个公式来解决吗?如何正确地找到随机图的连通性可能性?