首页 > TAG信息列表 > P2634
洛谷 P2634 聪聪可可
题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。 他们的爸爸快被他们的争吵烦死了,所以他发明了题解 P2634 【[国家集训队]聪聪可可】
题目链接 Solution [国家集训队]聪聪可可 题目大意:给定一棵带权的树,在树上随机选两个点,问两点间路径长能被\(3\)整除的概率 点分治 分析:要算概率的话我们可以求出有多少条路径长能被\(3\)整除,然后一共有\(n^2\)条路径除\(gcd\)约分即可 关于分子,我们要统计树上所有路径,因此我们【图论】——洛谷P2634 [国家集训队]聪聪可可
点分治裸题,不说了。 对于这道题目,我们找的就是长度和为3的倍数的路径条数,根据模运算性质,我们可以将所有路径长模3。 那么,就可以用点分治的基本操作解决此题了。 代码稍微参考了一下这位dalao的:GO 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=洛谷P2634 [国家集训队]聪聪可可(点分治)
聪聪可可 题目传送门 解题思路 点分治。分别统计(各个点到根的距离%3)的值为0,1,2的个数,然后统计不在同一颗子树中余数相加再%3的值为0的个数x,因为两个人可以选同一个点,所以x+n即为路径为3倍数的点对的个数。概率即为(x+n)/(n*n)。 代码如下 #include <bits/stdc++.h> #define INF 0P2634 [国家集训队]聪聪可可(树形dp)
题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。 他们的爸爸快被他们的争吵烦死了,所以他发明了一洛谷P2634 聪聪可可 [国家集训队] 点分治/dp
正解:点分治/dp 解题报告: 传送门! 这题有两个做法,都是我不擅长的就都说下好了QAQ 首先这题一看到就会想到点分治? 也确实可以用点分治,那就直接用点分治鸭 每次求出到当前根距离余数为0,1,2的点的数量x,y,z 然后它的贡献就是x*x+2*y*z 然后就做完了,,, 晚上放代码QAQ 然后港下dp