Knight
KNIGHT
C++博客
首页
新随笔
联系
聚合
管理
posts - 74, comments - 33, trackbacks - 0
最优比例生成树
http://hi.baidu.com/zzningxp/blog/item/b2d1b4ec1f8bbc2262d09fc9.html
http://acm.pku.edu.cn/JudgeOnline/problem?id=2728
可以试试这道题。。。
思路AC后更新
已经ac,很慢。。。。巨慢!
部分代码如下:
double
prim(
int
n,
double
rat)
{
int
i,j,sign;
int
flag[
1000
];
double
dis[
1000
],sum;
memset(flag,
0
,
sizeof
(flag));
for
(i
=
0
;i
<
n;i
++
)
for
(j
=
i;j
<
n;j
++
)
{
double
t
=
DIS(i,j)
-
map[i][j]
*
rat;
cost[i][j]
=
t;
cost[j][i]
=
t;
}
for
(i
=
0
;i
<
n;i
++
)
dis[i]
=
cost[
0
][i];
flag[
0
]
=
1
;
sum
=
0
;
for
(j
=
1
;j
<
n;j
++
)
{
double
min
=
100000000
;
for
(i
=
0
;i
<
n;i
++
)
if
(
!
flag[i]
&&
min
>
dis[i])
{
sign
=
i;
min
=
dis[i];
}
flag[sign]
=
1
;
sum
+=
dis[sign];
for
(i
=
0
;i
<
n;i
++
)
if
(
!
flag[i]
&&
dis[i]
>
cost[sign][i])
dis[i]
=
cost[sign][i];
}
return
sum;
}
二分思想代码如下:
while(1)
{
mid=(low+high)/2;
double t=prim(n,mid);
if(fabs(t)
<
1e-6
)break;
if(t<0)high
=mid;
else low
=mid;
}
posted on 2009-01-06 18:23
KNIGHT
阅读(537)
评论(2)
编辑
收藏
引用
FeedBack:
#
re: 最优比例生成树
2009-01-19 15:48 |
菠萝东西
我也按照黑书上的写,改来改去还是Tle,难道要改成迭代??
回复
更多评论
#
re: 最优比例生成树[未登录]
2009-01-20 08:54 |
Knight
@菠萝东西
代码我发到你邮箱了。
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2009年1月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(8)
给我留言
查看公开留言
查看私人留言
随笔档案
2009年6月 (4)
2009年5月 (14)
2009年4月 (12)
2009年3月 (10)
2009年2月 (12)
2009年1月 (10)
2008年12月 (12)
文章档案
2009年3月 (1)
Friends
OJ
HEU
PKU
ZJU
搜索
最新评论
1. re: (转载)TopCoder入门手册
好,学习了
--wuyiqi
2. re: Knights
评论内容较长,点击标题查看
--Lightning
3. re: Knights
请问您说的奇偶性不同的x,y是指什么?
--Lightning
4. re: [ZZ]后缀数组[未登录]
@爱上对方
请你仔细阅读标题
【ZZ】转载。。懂
--Knight
5. re: [ZZ]后缀数组
请你不要抄
--爱上对方
阅读排行榜
1. (转载)TopCoder入门手册(6458)
2. 浅谈2—SAT问题(6167)
3. 分而治之算法---距离最近的点对 (2727)
4. poj 3648 Wedding(1432)
5. 最小树形图(1300)
评论排行榜
1. Making the Grade(3)
2. poj 3648 Wedding(3)
3. [ZZ]后缀数组(2)
4. Knights(2)
5. 感(2)