【WOJ 2339】ak树

这是一篇关于利用点分治算法解决树上两点距离为4的倍数概率问题的博客。题目描述了一种游戏,玩家在树上随机选取两点,如果两点间距离为4的倍数则玩家获胜,求获胜概率。文章提供了输入输出格式,并通过分析指出可以采用点分治的方法,通过统计不同状态的和来计算概率,代码实现相对简单。
摘要由CSDN通过智能技术生成

【题目】

传送门

题目描述:

XXX 正在和别人玩一个游戏:在一棵树上随机取两个点,如果这两个点的距离是 4 4 4 的倍数,那么算 XXX 赢,否则对方赢。现在 XXX 想知道他能获胜的概率。

输入格式:

本题多组数据。对于每组数据:

第一行一个数 n n n,表示树上的节点个数

接下来 n − 1 n-1 n1 条边 a , b , c a,b,c a,b,c 描述 a a a b b b 有一条长度为 c c c 的路径

n = 0 n=0 n=0 时表示读入结束

数据组数不超过 10 10 10。无部分分

输出格式:

最终输出的概率要求分数的分子和分母的和尽量小且非负数

样例数据:

输入
5
1 2 1
1 3 2
1 4 1
2 5 3
0

输出
7/25

提示:
20170814220611_13581


【分析】

很显然的点分治啦,和聪聪可可那道题差不多

只不过在统计答案的时候, a n s = ( s u m 0 ) 2 + ( s u m 2 ) 2 + 2 ⋅ s u m 1 ⋅ s u m 3 ans=(sum_0)^2+(sum_2)^2+2\cdot sum_1\cdot sum_3 ans=(su

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值