| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 487 人关注过本帖
标题:[讨论]选组长问题与攻击网络问题
只看楼主 加入收藏
linuxbabya
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-4-19
收藏
 问题点数:0 回复次数:7 
[讨论]选组长问题与攻击网络问题
1:有n个人,要求选出一个组长来,每个人限投一票,如果有人得票率超过50%就当选,输出当选人。
要求算法O(n)。
2:网络中有关键节点,如果攻击该节点(就是将此节点删除)。请输出最小攻击节点集使得网络通讯中断。
各位有什么好的想法?
搜索更多相关主题的帖子: 网络 组长 攻击 
2007-04-25 21:11
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
第二个好象是离散数学里的图中的一个叫做什么的.给忘了.

2007-04-25 22:30
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
第一个好做.
a[i]++就可以了.并记录最大者.因为只有一个才有可能超过50%.

倚天照海花无数,流水高山心自知。
2007-04-26 10:10
linuxbabya
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-4-19
收藏
得分:0 

我感觉你的想法算法复杂度比(n)大。
我在想若是采用链式的基数排序可行否。
Mayor.vector[1]-Mayor.vector[n]对应投票人。
关键码key[0],...,key[d-1]对应得到的投票。d<=n
然后选出Max key,输出对应的Mayor.vector[]

2007-04-26 13:43
se7en_enter
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-5-11
收藏
得分:0 

2楼说的是不是带权的图阿


年轻有年轻的冲动,成熟有成熟的魅力。莫让时间冲淡一切,要让一切充实时间
2007-04-26 14:54
linuxbabya
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-4-19
收藏
得分:0 

第二题,我是觉得感觉和AOV的有点类似,但是还没有琢磨明白。

2007-04-27 13:50
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
int data[100]={0};
int t,k=1,max=0;
for(int i=0;i<n;i++)
{
t=rand()%n+1;
data[t]++;
if(data[t]>max)
{
max=data[t];
k=t;
}
}
//Print(k,max);

时间复杂度为O(n).

倚天照海花无数,流水高山心自知。
2007-04-27 20:05
linuxbabya
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-4-19
收藏
得分:0 

赞,不错,想法比我的简化了很多。

[此贴子已经被作者于2007-4-27 23:34:44编辑过]

2007-04-27 22:32
快速回复:[讨论]选组长问题与攻击网络问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029800 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved