5221. 【GDOI2018模拟7.10】A
题目大意:
给你一棵有根树,问你在这棵树上总共有多少棵子树的节点构成了一个完整的整数区间。
考试想法:
考试时就想到了正解,正解就是从下到上遍历整一棵树,每一个节点记录一下它的最小值min、最大值max、和节点的个数sum,如果(max-min+1)==sum那么ans++,否则继续遍历。
代码:
#include<bits/stdc++.h>
using namespace std;
int ans,s[100005],l[100005],r[100005],n,u,v,rt,cnt=1,head[100005],fa[100005];
struct Edge
{
int to,next;
}edge[100005];
void add_edge()
{
edge[cnt].to=v;
edge[cnt].next=head[u];
head[u]=cnt;
cnt++;
}
void dp(int x)
{
s[x]=1;
for(int i=head[x];i!=0;i=edge[i].next)
{
dp(edge[i].to);
if(l[edge[i].to]<l[x]) l[x]=l[edge[i].to];
if(r[edge[i].to]>r[x]) r[x]=r[edge[i].to];
s[x]+=s[edge[i].to];
}
if(s[x]!=r[x]-l[x]+1) return;
ans++;
}
int main()
{
scanf("%d",&n);
for(register int i=1;i<n;i++)
{
l[i]=r[i]=i;
scanf("%d%d",&u,&v);
fa[v]=u;
add_edge();
}
l[n]=r[n]=n;
for(register int i=1;i<=n;i++)
if(fa[i]==0)
{
rt=i;
break;
}
dp(rt);
printf("%d",ans);
return 0;
}
5221. 【GDOI2018模拟7.10】A的更多相关文章
- NOIP2017提高组模拟赛 10 (总结)
NOIP2017提高组模拟赛 10 (总结) 第一题 机密信息 FJ有个很奇怪的习惯,他把他所有的机密信息都存放在一个叫机密盘的磁盘分区里,然而这个机密盘中却没有一个文件,那他是怎么存放信息呢?聪明的 ...
- [NOIP2018模拟赛10.16]手残报告
[NOIP2018模拟赛10.16]手残报告 闲扯 炉石乱斗模式美滋滋啊,又颓到好晚... 上来T2先敲了树剖,看T1发现是个思博DP,然后没过大样例,写个暴力发现还是没过大样例!?才发现理解错题意了 ...
- 【noip模拟赛10】奇怪的贸易 高精度
描述 刚结束了CS战斗的小D又进入了EVE的游戏世界,在游戏中小D是一名商人,每天要做的事情就是在这里买东西,再运到那里去卖.这次小D来到了陌生的X星,X星上有n种货物,小D决定每种都买走一些,他用a ...
- [考试反思]0729NOIP模拟测试10
安度因:哇哦. 安度因:谢谢你. 第三个rank1不知为什么就来了.迷之二连?也不知道哪里来的rp 连续两次考试数学都占了比较大的比重,所以我非常幸运的得以发挥我的优势(也许是优势吧,反正数学里基本没 ...
- NOIP模拟测试10「大佬·辣鸡·模板」
大佬 显然假期望 我奇思妙想出了一个式子$f[i]=f[i-1]+\sum\limits_{j=1}^{j<=m} C_{k \times j}^{k}\times w[j]$ 然后一想不对得容 ...
- 20180824Noip模拟赛10分总结
嗯,总之,是我太傻了. 我真傻,真的,我单知道最小生成树,却不知道还有最大生成树 T1 最大生成树.... 累加每一个环内,最大生成树的边权,(对环求最大生成树,则必然剩下一个边权最小的边(因为是求生 ...
- .net core Json字符串的序列化和反序列化通用类源码,并模拟了10万数据对比DataContractJsonSerializer和Newtonsoft性能
我们在开发中Json传输数据日益普遍,有很多关于Json字符串的序列化和反序列化的文章大多都告诉你怎么用,但是却不会告诉你用什么更高效.因为有太多选择,人们往往会陷入选择难题. 相比.NET Fram ...
- [NOIP2018模拟赛10.18]自闭报告
闲扯 这一天,菜鸡RyeCatcher又想起来了被毒瘤题支配的恐惧 今天比较好玩,还是ljy提醒才发现文件夹里有题面...不知道外面的人什么时候才发现 看完了题面,又回到了雅礼啥题也不会写的感觉 T1 ...
- [NOIP2018模拟赛10.23]发呆报告
闲扯 考场看了眼题目感觉很难,一个小时敲完了所有暴力...嗯然后就在那里发呆什么事也没做 T3考场上把数据结构想了个遍都不会完成1操作,现在看这种思路其实之前也接触过... 比较玄学的一件事情就是T1 ...
- [NOIP2018模拟赛10.22]咕咕报告
闲扯 这是篇咕咕了的博客 考场上码完暴力后不知道干什么,然后忽然发现这个T1好像有点像一道雅礼集训时讲过的CF题目 Rest In Shades ,当时那道题还想了挺久不过思路比较妙,于是我就也\(y ...
随机推荐
- IEEE会议论文投稿系统问题之一:WinEdt编译生成DVI文件的方法
问题描述:如何将tex文件正确编译为dvi文件,以正常使用IEEE投稿系统? 方法: 1.打开WinEdt中的命令行: 2.使用latex TexFileName编译tex生成aux文件和dvi文件: ...
- turtle绘制风轮
题目要求: 使用turtle库,绘制一个风轮效果,其中,每个风轮内角为45度,风轮边长150像素. 我的代码: import turtle turtle.setup(500,500,100,200) ...
- linux系统下载redis时make报错:没有名为什么》》》》》
明明自己下载了gcc-c++环境,但是make还是一直报错,没有名为什么的>>>>> 其实这个问题主要的原因的是gcc的版本过低了,你可以gcc -v查看一下你的版本,是 ...
- django静态文件,form表单提交数据,连接mysql,操作ORM
静态文件配置 1. 什么是静态文件 css js img ... 2. 静态文件的存储位置 ''' 我们在创建Django项目的时候,没有生成static目录,我们会把静态文件存储在static目录下 ...
- 前端复习之DOM、BOM
BOM VS DOM: 1 BOM:浏览器对象模型(API),专门操作浏览器窗口的API 2 没标准! 3 DOM:文档对象模型(API),专门操作网页内容的API 4 可以对网页中任意对象,做任意修 ...
- TCP连接实践解析
1.初始化. 2.FD_ISSET,是select机制的一个成员,用来检测sockfd是否有动作,对应读写异常等. 3.FD_ZERO 宏完成的工作就是一个初始化套接字集合 4.FD_SET把sock ...
- cider 二面
cider 二面 1.祖传自我介绍 2.当前BLF外卖业务缺点是什么? 产品单一 : 跟竞品比较起来,产品单一导致用户流量很少 3.QLExpress二次开发的原因 流程对接 提升性能 后台对接 4. ...
- Spring--案例:百度网盘密码数据兼容处理
案例再度来袭 也就是说,在百度网盘的密码复制时,后面即使有空格也能提取成功(trim方法) 案例的实现: 也就是实现存在空格时,也能输出true: 现在的话: 那么,我们应该如何使得它忽略空格呢? 这 ...
- 在CentOS中安装和使用nginx
概述 本文简单讲述一下,如何快速将一个内网的Web服务通过nginx提供给外网访问,并且启用HTTPS.例如我们部署了一个kubesphere,地址为192.168.202.151:30880,需要通 ...
- Maven学习笔记2:Maven核心概念
一.Maven工程约定目录结构 (说是约定,既是说它是大多数人都遵守的规范,但不是强制的) 一个小例子,熟悉Maven目录结构 这是官网给的例子,可以复制它的pom.xml来修改 第一步:建立项目 按 ...