JZOJ 5221. 【GDOI2018模拟7.10】A
来源:互联网 发布:做网络推广怎么找客户 编辑:程序博客网 时间:2024/05/16 09:21
Description
Input
Output
Sample Input
4
2 3
2 1
2 4
Sample Output
4
Data Constraint
Solution
首先,这是一棵有根树,先要找到它的根是哪个节点。
由于边是有向边,入度为零的点就是根节点了。
接着,如何处理出答案呢?
从根节点开始遍历这棵树,做一次 DFS。记录三个值:
Size[i] 表示以i 为根的子树的大小(节点数);Mx[i] 表示以i 为根的子树中节点标号最大是多少;Mn[i] 表示以i 为根的子树中节点标号最小是多少;
那么对于一个节点
i ,如果满足:Mx[i]−Mn[i]+1=Size[i] 则说明点
i 符合条件,答案加一。时间复杂度O(N) 。
Code
#include<cstdio>using namespace std;const int N=100001;int n,tot,ans;int first[N],next[N],en[N];int size[N],mx[N],mn[N];bool bz[N];inline int read(){ int X=0,w=1; char ch=0; while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();} while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar(); return X*w;}inline void dfs(int x){ size[mn[x]=mx[x]=x]=1; for(int i=first[x];i;i=next[i]) { dfs(en[i]); size[x]+=size[en[i]]; if(mx[en[i]]>mx[x]) mx[x]=mx[en[i]]; if(mn[en[i]]<mn[x]) mn[x]=mn[en[i]]; } if(mx[x]-mn[x]+1==size[x]) ans++;}int main(){ int n=read(); for(int i=1;i<n;i++) { int x=read(),y=read(); next[++tot]=first[x]; first[x]=tot; bz[en[tot]=y]=true; } for(int i=1;i<=n;i++) if(!bz[i]) { dfs(i); break; } printf("%d",ans); return 0;}
阅读全文
1 0
- JZOJ 5221. 【GDOI2018模拟7.10】A
- 【JZOJ 5220】【GDOI2018模拟7.10】C
- 【GDOI2018模拟7.12】A
- 【JZOJ 5205】【GDOI2018模拟7.6】仰望星空
- 【JZOJ 5204】【GDOI2018模拟7.6】吃干饭
- 【JZOJ 5250】【GDOI2018模拟8.11】质数
- JZOJ 5387【GDOI2018模拟9.23】动态图
- 【JZOJ5222】【GDOI2018模拟7.12】A
- 【GDOI2018模拟7.10】B
- 【GDOI2018模拟7.10】C
- 【GDOI2018模拟7.10】B
- 【GDOI2018模拟7.10】C
- 【GDOI2018模拟7.10】C
- 【jzoj5221】【GDOI2018模拟7.10】【A】【线段树合并】
- JZOJ 5207【GDOI2018模拟7.7】暴力大神hxx
- 【JZOJ 5215】【GDOI2018模拟7.9】组合数问题
- JZOJ 5224【GDOI2018模拟7.12】C(数论&&杜教筛)
- 【JZOJ 5229】【GDOI2018模拟7.14】小奇的糖果
- ubuntu有以下方式切换到root身份
- tensorflow-4D特征图放缩,tensorboard初使用
- cin&&scanf
- ThinkPHP框架中添加(add)或更新(save)时过滤某些字段的问题
- Qt5.6.2+QtCreator4.3.1与matlabR2016a混合编程(64位)
- JZOJ 5221. 【GDOI2018模拟7.10】A
- C++ 例4.1 私有继承的访问规则举例1
- 设计模式之观察者模式 二
- 常用Shell命令(三)(附加*)
- linux常用命令-重定向与管道操作
- linux 端口映射 桥连模式下无法访问到linux可以通过端口映射访问
- It is not safe to rely on the system's timezone settings. 的PHP问题处理
- UGUI之靠边停靠菜单制作
- 树梅派网线直连电脑并显示界面