博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Wannafly挑战赛1:Treepath(DFS统计)
阅读量:5368 次
发布时间:2019-06-15

本文共 769 字,大约阅读时间需要 2 分钟。

题意

给出一棵树,问长度为偶数的路径数有多少。

思路

记录路径长度为奇数的数目和为偶数的数目,然后 n * (n-1) / 2 求和即可。

#include 
using namespace std;const int N = 1e5 + 11;const int INF = 0x3f3f3f3f;vector
e[N];int n, dis[N];long long id[2];void dfs(int u, int fa) { id[dis[u]%2]++; for(int i = 0; i < e[u].size(); i++) { int v = e[u][i]; if(v == fa) continue; dis[v] = dis[u] + 1; dfs(v, u); }}int main() { scanf("%d", &n); for(int i = 1; i < n; i++) { int u, v; scanf("%d%d", &u, &v); e[u].push_back(v); e[v].push_back(u); } dis[1] = 0; dfs(1, 0); long long ans = id[0] * (id[0] - 1) / 2 + id[1] * (id[1] - 1) / 2; printf("%lld\n", ans); return 0;}

转载于:https://www.cnblogs.com/fightfordream/p/7663721.html

你可能感兴趣的文章
安全-分析深圳电信的新型HTTP劫持方式
查看>>
将Centos的yum源更换为国内的阿里云源
查看>>
git diff 的用法
查看>>
一段sql的优化
查看>>
十进制与十六进制的相互转换
查看>>
在Flex中用Validator检测数字、字符串、Email.
查看>>
[leetcode]4Sum
查看>>
POJ1062 昂贵的聘礼
查看>>
【零基础学习iOS开发】【02-C语言】08-基本运算
查看>>
Java 将指定字符串连接到此字符串的结尾 concat()
查看>>
Hibernate Criterion
查看>>
Python知识
查看>>
我们为什么要搞长沙.NET技术社区(三)
查看>>
杭电acm Cake
查看>>
js函数中this的指向
查看>>
c++ 引用方式传递数组
查看>>
HBase学习之路 (九)HBase phoenix的使用
查看>>
LeetCode() Remove Duplicates from Sorted Array II
查看>>
【svn】idea svn 文件上会出现一个破书
查看>>
cocos2d-x 3.0 场景切换特效汇总(转)
查看>>