传送门

什么鬼的题?

代码

#include <cstdio>
#include <cstring>
#include <iostream>
#define N 1000001 int n, cnt;
int head[N], to[N << 1], next[N << 1], size[N], cp[N]; inline int read()
{
int x = 0, f = 1;
char ch = getchar();
for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1;
for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0';
return x * f;
} inline void add(int x, int y)
{
to[cnt] = y;
next[cnt] = head[x];
head[x] = cnt++;
} inline void dfs(int u)
{
int i, v, rest;
rest = size[u] = 1;
for(i = head[u]; i ^ -1; i = next[i])
{
v = to[i];
if(!size[v])
{
dfs(v);
rest += size[v];
size[u] += size[v];
cp[u] += cp[v];
if(cp[v]) rest -= size[v];
}
}
cp[u] += rest >> 1;
} int main()
{
int i, x, y;
n = read();
memset(head, -1, sizeof(head));
for(i = 1; i < n; i++)
{
x = read();
y = read();
add(x, y);
add(y, x);
}
dfs(1);
printf("%d\n", cp[1]);
return 0;
}

  

最新文章

  1. 【python】继承关系和isinstance
  2. Mybatis配置文件
  3. 使用php来访问操作sql server
  4. java基础题目总结
  5. codevs 3008 加工生产调度[贪心]
  6. Lintcode: Interval Sum II
  7. ASP.NET 应用程序安全
  8. FMDB警告Warning: there is at least one open result set around after performing的问题
  9. ArrayList源码解析(四)
  10. 【Ubuntu 16】启动Eclipse Indigo报错 error code1 jdk没有配置好
  11. 笔记(json)实现前后端交互案例
  12. 深度剖析HashMap的数据存储实现原理(看完必懂篇)
  13. Flask 扩展 用户会话
  14. C++笔记018:构造函数的调用规则
  15. HNOI2019 苟命记
  16. C语言中printf,scanf,puts,%%等输出格式
  17. DIV浮动层被OCX控件遮蔽解决方案
  18. AVL平衡二叉树
  19. 据说是Flord算法
  20. 一脸懵逼学习Struts数据校验以及数据回显,模型驱动,防止表单重复提交的应用。

热门文章

  1. Linux学习笔记之Linux系统启动过程
  2. JavaScript--DOM访问子结点childNodes
  3. GIT学习之路最终日 标签管理+总结
  4. 贪心/思维题 UVA 11292 The Dragon of Loowater
  5. redis在linux环境下的安装与启动
  6. Visual Studio 生成项目时脚本执行
  7. 25 C#类的继承
  8. Python,计算 ax^2 + bx + c = 0的根
  9. P2668 斗地主 贪心+深搜
  10. phpcms v9文章内容页调用上一篇下一篇的方法(转)