题目链接:Codeforces - Sergey and Subway


答案就是每一条路径的长度+1然后除以2的值。

显然,点分治即可。

考虑另一种做法,答案其实可以转化为:每一条路径之和除以2,最后加上长度为奇数的路径条数。

每一条路径之和,很好计算,直接算每条边的贡献即可。奇数的路径数量呢?

看每一条路径怎么计算:dep[x]+dep[y]-2*dep[lca(x,y)]

显然LCA不影响奇偶性,所以只要一个奇数一个偶数即可。


AC代码:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=2e5+10;
int n,dep[N],sz[N],num; long long res;
vector<int> g[N];
void dfs(int x,int fa){sz[x]=1;    dep[x]=dep[fa]+1; if(dep[x]&1)    num++;for(auto to:g[x]){if(to==fa)  continue;dfs(to,x); sz[x]+=sz[to];    }res+=1LL*(n-sz[x])*sz[x];
}
signed main(){cin>>n;for(int i=1,a,b;i<n;i++)   scanf("%d %d",&a,&b),g[a].push_back(b),g[b].push_back(a);dfs(1,1);    res+=1LL*(n-num)*num;cout<<(res>>1);return 0;
}

Codeforces - Sergey and Subway相关推荐

  1. CF1060E Sergey and Subway

    CF1060E Sergey and Subway 树上计数dp,考虑每条边的贡献,树上两点距离用深度与LCA表示 长度为2的两点间可以连一条边,所以对于任意两点 i , j i,j i,j, d i ...

  2. E. Sergey and Subway(思维 + dp)

    Problem - E - Codeforces Sergey Semyonovich 是 N 市县的市长,他一直在思考如何进一步改善 Nkers 的生活.不幸的是,几乎所有可以做的事情都已经完成了, ...

  3. E. Sergey and Subway

    比赛时候写复杂了-- 我写的是 计算每个节点树内所有点到某个点的距离和. #include <bits/stdc++.h> using namespace std; typedef lon ...

  4. 2018.10.04 codeforces1060E. Sergey and Subway(树形dp)

    传送门 一开始把题意读错了. 我们dfs时对于边(p,fa)(p,fa)(p,fa),计算出以ppp为根的子树对子树外连通块的贡献,然后加上漏加的贡献. 这样算出来是答案的两倍. 因为相当于dis(u ...

  5. 杂题记录及简要题解(一)

    一些前几天做过的还不错的但是不是太想专门花一整篇博客的篇幅去写的题就简要地记录在这里. 说是简要题解,其实写得还是挺详细的.之后的杂题记录可能就会写得简略一点. CF1060E Sergey and ...

  6. codeforces 1039B Subway Pursuit【二分+随机】

    题目:戳这里 题意:一个点在[1,n]以内,我们可以进行4500次查询,每次查询之后,该点会向左或向右移动0~k步,请在4500次查询以内找到该点. 解题思路:一边二分,一边随机. 交互题似乎有好多是 ...

  7. 【CodeForces - 155C】Hometask (字符串,思维,贪心,熟悉句式)(总结)

    题干: Sergey attends lessons of the N-ish language. Each lesson he receives a hometask. This time the ...

  8. 2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6(8/13)

    2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6 比赛连接: http://codeforces.com/gym/101124/ ...

  9. D - The Beatles CodeForces - 1143D

    D - The Beatles CodeForces - 1143D Recently a Golden Circle of Beetlovers was found in Byteland. It ...

  10. CF131D Subway 解题报告

    CF131D Subway 解题报告 1 题目链接 传送门 2 题目大意 题目 : 地铁 题目大意 : 给定一个有n个点m条边的无向图,该无向图连通且有且仅有一个环(简单来说就是一个n个点m条边的基环 ...

最新文章

  1. iOS-FXDanmaku弹幕库介绍、相关技术分享
  2. BFS之三(单向bfs和康托压缩)
  3. 5G服务可以解决的4个企业WAN挑战 - vecloud
  4. sklearn 笔记整理:sklearn.mertics
  5. 银行IT:研究框架(165页)
  6. 新手學python之新體驗
  7. IntellIJ IDEA 启动 参数 配置
  8. 【LeetCode】3月22日打卡-Day7
  9. 【OPTEE开发】从TA到安全驱动的功能设计
  10. Oracle远程连接
  11. Spring boot 属性加载顺序
  12. SAP License:大陆SAP用户清单
  13. java字段描述符_Java 的方法签名与字段类型表示-[Ljava.lang.String;
  14. 开课吧:适合开发人工智能应用的编程语言有哪些?
  15. ans函数python_#12 Python函数
  16. ERP系统容灾方案对ERP生产系统的影响
  17. 网站服务器和空间大小,网站服务器和空间大小
  18. (附源码)计算机毕业设计ssm 航空订票系统
  19. 微信公众号推广的四种有效办法
  20. 张晓龙2018微信公开课

热门文章

  1. 2.1.1 -1【SV数据类型、过程快、方法、例化连接】
  2. springcloud五大神兽之Hystrix介绍
  3. FreeRTOS课程设计之临沂大学停车场车位管理系统(一)
  4. 解惑:教你在 Arch Linux 终端上更改 WiFi 密码
  5. 语雀文章搬到CSDN并发布
  6. 云安全的基本术语和概念
  7. 恢复独立的分区mysql_mysql 灾难型恢复
  8. mysql与配偶同性_Python 之 MySql 每日一练 130——同名同性学生名单,并统计人数
  9. WebGL实践篇(十)—— 光照:聚光灯
  10. 38_SPI通信原理