Description

Input

Output

Sample Input

10
1 1 0 0 1 0 0 0 0 0
1 2
2 3
2 4
4 5
2 6
6 7
7 8
7 9
4 10

Sample Output

1 3 4 5 6

Data Constraint

Solution

  • 首先,答案一定是唯一的,一个点不可能被标记两次。

  • 考虑在树中由下至上处理。

  • 一个点的颜色如果和其父亲相同,那么就不可能标记这个点,不然就没有贡献。

  • 那么我们讨论与父亲颜色不相同的情况。

  • 如果自己是 黑色 ,父亲是 白色 ,那么显然标记这个点,不然之后就不能再改到了。

  • 如果自己是 白色 ,父亲是 黑色 ,那么显然也要标记这个点,不然之后就不能统一修改了。

  • 综上所述,一个点的颜色如果和其父亲相同,就直接标记这个点。

  • 注意特判根节点(我设为 1 号点),根节点为黑色的话也要标记它。

  • 于是我们把要标记的点统计在一个桶里,顺序输出即可(快排都不用)。

  • 时间复杂度是飞快的 O(N)O(N) 。

Code

#include<cstdio>
using namespace std;
const int N=5e5+1;
bool a[N],ans[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 write(int x)
{if(x>9) write(x/10);putchar(x%10+'0');
}
int main()
{int n=read();for(int i=1;i<=n;i++) a[i]=read();ans[1]=a[1];for(int i=1;i<n;i++){int x=read(),y=read();if(a[x]!=a[y]) ans[y]=true;}for(int i=1;i<=n;i++)if(ans[i]) write(i),putchar(' ');return 0;
}

JZOJ 5438. 【NOIP2017提高A组集训10.31】Tree相关推荐

  1. JZOJ 5439. 【NOIP2017提高A组集训10.31】Calculate

    Description Input Output Data Constraint Solution 设前缀和 g[i][j]g[i][j] 表示 AA 为 ii .BB%A 为 jj 的数量. 这样就 ...

  2. JZOJ 5437. 【NOIP2017提高A组集训10.31】Sequence

    Description Input Output Data Constraint Solution 观察到条件是: Ak−i+1−Bi=Ak+j−1−Bj A_{k-i+1}-B_i=A_{k+j-1 ...

  3. JZOJ 5417. 【NOIP2017提高A组集训10.24】方阵

    Description 题目背景 热烈庆祝北京师范大学附属实验中学成立100周年! 问题描述 为了准备校庆庆典,学校招募了一些学生组成了一个方阵,准备在庆典上演出. 这个方阵是一个n*m的矩形,第i行 ...

  4. JZOJ 5436. 【NOIP2017提高A组集训10.30】Group

    Description Input Output Sample Input 10 113 28 3 39 90 46 14 55 35 48 47 Sample Output 62453 Data C ...

  5. JZOJ 5431. 【NOIP2017提高A组集训10.28】序列操作

    Description 一开始有n个非负整数hi,接下来会进行m次操作,第i次操作给出一个数c[i],要求你选出c[i]个大于零的数并将它们减去1. 问最多可以进行多少轮操作后无法操作(即没有c[i] ...

  6. JZOJ 5426. 【NOIP2017提高A组集训10.25】摘Galo

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  7. JZOJ 5419. 【NOIP2017提高A组集训10.24】筹备计划

    Description 题目背景 热烈庆祝北京师范大学附属实验中学成立100周年! 问题描述 校庆筹备组的老师们正在寻找合适的地方来举办校庆庆典.学生们的位置和可以举办庆典的位置在x轴的正半轴取值在[ ...

  8. JZOJ 5421. 【NOIP2017提高A组集训10.25】嘟嘟噜

    Description 由于众所周知的原因, 冈部一直欠真由理一串香蕉. 为了封上真由理的嘴, 冈部承诺只要真由理回答出这个问题, 就给她买一车的香蕉: 一开始有n 个人围成一个圈, 从1 开始顺时针 ...

  9. JZOJ 5425. 【NOIP2017提高A组集训10.25】数论

    Description 聪明的0v0正在学习莫比乌斯反演. 她看到了这样的一道题:有n*m个人站成了一个n*m的方阵-- 剩下的题面,聪明的0v0不记得了.但是,她通过自己高超的数论技巧,给出了一个转 ...

最新文章

  1. 安装hbas_非常详细的HBase的安装与配置
  2. 在sublime中让html和css链接
  3. RSA算法原理——(3)RSA加解密过程及公式论证
  4. 云原生 - Istio可观察性之监控(四)
  5. Spring Cloud Sidecar –节点初始化
  6. 数论考试题(b) 求约数的约数的最大个数
  7. 恒位油杯故障原因_抽油烟机常见故障及处理方法
  8. JDK源码解析之 Java.lang.Double
  9. azure vnc控制台_使用扩展和标签控制Azure成本
  10. Network install linux - Hacking initrd.img word doc archive
  11. 查看思科、H3C所有端口状态
  12. ITIL与DevOps
  13. 查看和编辑xml结构标签内容的利器【一】: firstobject XML editor;查看ftl,freemarker工具软件
  14. android lame wav 转 mp3,Wav文件转mp3(LAME)
  15. python画聚类树状图_聚类分析python画树状图--Plotly(dendrogram)用法解析
  16. amazon alexa_如何建立您的第一个Amazon Alexa技能
  17. 微信小程序的事件处理,吊打面试官系列!
  18. JS 日期的获取和计算 ios不兼容问题
  19. 面向毕业、职称的SCI论文高效写作方法
  20. 虚拟机vs裸金属服务器,裸金属虚拟机

热门文章

  1. SUID SGID LINUX 权限安全设置
  2. LIBSVM的使用方法以及参数注释总结
  3. PHP是弱类型还是强类型,php弱类型比较(松散比较) | CN-SEC 中文网
  4. Python 保存数组至.mat文件,报错:AttributeError: 'numpy.ndarray' object has no attribute 'items'
  5. 【Python】如何在文件夹里批量替换文本中的内容?
  6. Mouse Without Borders 一套鼠标键盘控制多台电脑
  7. [云炬创业管理笔记]第一章测试1
  8. 科大星云诗社动态20210428
  9. 云炬Qtpy5开发与实战笔记 3PyCharm添加PyUIC扩展——将.ui文件转换成.py文件
  10. 力荐 | 吴恩达《序列模型》精炼笔记(1)-- 循环神经网络(RNN)