题目描述:
给定一棵n个点的树,问其中有多少条长度为偶数的路径。路径的长度为经过的边的条数。x到y与y到x被视为同一条路径。路径的起点与终点不能相同。
输入描述:
第一行一个数n表示点的个数;
接下来n-1行,每行两个整数x,y表示边;
保证输入数据形成一棵树;
1<=n<=100000
输出描述:
一行一个整数表示答案。
输入:
3
1 2
1 3
输出:
1
题意:
题目描述
题解:
观察到路径 x->y 的长度的奇偶性只与 x 到根的长度的奇偶性以及 y 到根的 长度的奇偶性有关
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef long long ll;
int x,y;
const int maxn = 100000 + 5;
vector<

该博客主要讨论了一道关于树的路径问题,其中需要找出树中所有长度为偶数的路径数量。题目给出的限制条件是路径的起点和终点不能相同,且路径长度由经过的边数决定。博主通过分析发现,路径的奇偶性仅与起点和终点到根节点的路径长度的奇偶性相关。提供了相应的解题思路和代码实现。

733

被折叠的 条评论
为什么被折叠?



