版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/u012476429/article/details/25607945

题目链接

  • 题意:
    给一棵树n个节点,1为根节点。操作为,选定一个节点x。当前值取反,x的孙子,孙子的孙子。。

    均取反
    如今告诉初始时每一个点的值和最后每一个点的目标值。求操作次数最少时须要选择那些节点
    (1 ≤ n ≤ 105)

  • 分析:
    深度浅的点一定是受影响最小的(根节点仅仅受自己的影响)。所以从根依次向下递推处理就可以
const int MAXN = 110000;

VI G[MAXN], ans;
int now[MAXN], goal[MAXN]; void dfs(int u, int fa, int a, int b)
{
int rev = ((now[u] ^ a) != goal[u]);
if (rev)
{
ans.push_back(u);
a ^= 1;
}
REP(i, G[u].size())
{
int v = G[u][i];
if (v != fa)
dfs(v, u, b, a);
}
} int main()
{
// freopen("in.txt", "r", stdin);
int n, a, b;
while (~RI(n))
{
FE(i, 0, n) G[i].clear();
ans.clear(); REP(i, n - 1)
{
RII(a, b);
G[a].push_back(b);
G[b].push_back(a);
}
FE(i, 1, n) RI(now[i]);
FE(i, 1, n) RI(goal[i]);
dfs(1, 0, 0, 0);
WI(ans.size());
REP(i, ans.size())
WI(ans[i]);
}
return 0;
}

Codeforces Round #245 (Div. 1)——Xor-tree的更多相关文章

  1. Codeforces Round #499 (Div. 1) F. Tree

    Codeforces Round #499 (Div. 1) F. Tree 题目链接 \(\rm CodeForces\):https://codeforces.com/contest/1010/p ...

  2. Codeforces Round #245 (Div. 1)——Guess the Tree

    题目链接 题意: n个节点,给定每一个节点的子树(包含自己)的节点个数.每一个节点假设有子节点必定大于等于2.求这种数是否存在 n (1 ≤ n ≤ 24). 分析: 用类似DP的思路,从已知開始.这 ...

  3. Codeforces Round #353 (Div. 2) D. Tree Construction 二叉搜索树

    题目链接: http://codeforces.com/contest/675/problem/D 题意: 给你一系列点,叫你构造二叉搜索树,并且按输入顺序输出除根节点以外的所有节点的父亲. 题解: ...

  4. Codeforces Round #540 (Div. 3)--1118F1 - Tree Cutting (Easy Version)

    https://codeforces.com/contest/1118/problem/F1 #include<bits/stdc++.h> using namespace std; in ...

  5. Codeforces Round #353 (Div. 2) D. Tree Construction 模拟

    D. Tree Construction 题目连接: http://www.codeforces.com/contest/675/problem/D Description During the pr ...

  6. Codeforces Round #245 (Div. 2) C. Xor-tree DFS

    C. Xor-tree Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/430/problem/C ...

  7. Codeforces Round #540 (Div. 3) F1. Tree Cutting (Easy Version) 【DFS】

    任意门:http://codeforces.com/contest/1118/problem/F1 F1. Tree Cutting (Easy Version) time limit per tes ...

  8. Codeforces Round #527 (Div. 3) F. Tree with Maximum Cost 【DFS换根 || 树形dp】

    传送门:http://codeforces.com/contest/1092/problem/F F. Tree with Maximum Cost time limit per test 2 sec ...

  9. 数据结构 - Codeforces Round #353 (Div. 2) D. Tree Construction

    Tree Construction Problem's Link ------------------------------------------------------------------- ...

  10. Codeforces Round #316 (Div. 2) D. Tree Requests dfs序

    D. Tree Requests time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

随机推荐

  1. myeclipce怎么破解

    MyEclipse安装文件下载,下载地址 http://www.jb51.net/softs/150886.html 你也可以进入官方网站下载:http://www.myeclipsecn.com/d ...

  2. 抓取网页数据C#文件

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...

  3. JackJson的一些方法

    package cn.edu.hbcf.common.jackjson; import java.io.IOException; import java.text.SimpleDateFormat; ...

  4. C++11 中function和bind以及lambda 表达式的用法

    关于std::function 的用法:  其实就可以理解成函数指针 1. 保存自由函数 void printA(int a) { cout<<a<<endl; } std:: ...

  5. Swift培训

    本篇是Swift内部培训整理的PPT材料,主要内容来源于苹果Swift编程语言官方教程,参考了网上的一些视频课程内容.在教程介绍完之后,本人附带实现了一个项目开发中的常用场景的Demo:基于导航栏和T ...

  6. 磁盘 & 文件系统

    1. dumpe2fs –h /dev/sda1 查询整个磁盘情况( 其中后边的设备名可以换 ) 2. df –h , du –h 查询磁盘容量情况 3. 实体链接和符号链接 实体链接: ln mk. ...

  7. HashMap与TreeMap的区别?

    HashMap与TreeMap的区别? 解答:HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用Tre ...

  8. 关于Eclipse配置tomcat

    本人花了2-3天检索如何配置tomcat,终于在今天中午安装成功了!!!(本人用的是安装版) 1.首先安装tomcat 7到自己想要安装的盘(以D:\IT程序需求\Tomcat为例,且跳过JDK的安装 ...

  9. hdu 4706:Children's Day(模拟题,模拟输出大写字母 N)

    Children's Day Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  10. uGUI动态加载控件位置错误

    最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ...