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

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. 解决eclipse偶尔无视breakpoint的行为

    一般是如果你使用了T[]这样的参数列表,也就是generic array作为参数,你就算给函数打了断点,有时也会被eclipse无视 比如如下代码,你在调试main的时候,eclipse就会把doPa ...

  2. XSS绕过与防御总结

    跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往Web页面里插 ...

  3. 球队以及得分计算的SQL语句

    首先题目是这样的: 球队表teams 比赛表matches 赢了得3分,平局的得1分,输了得0分. 思路: 一个球队的成绩分为两部分,作为主队的得分和作为客队的得分: 计算出一次比赛中具体得了多少分, ...

  4. Oracle的REGEXP_INSTR函数简单使用方法

    REGEXP_INSTR函数让你搜索一个正則表達式模式字符串. 函数使用输入字符集定义的字符进行字符串的计算. 它返回一个整数,指示開始或结束匹配的子位置.这取决于return_option參数的值. ...

  5. 第二百零七节,jQuery EasyUI,MenuButton(菜单按钮)组件

    jQuery EasyUI,MenuButton(菜单按钮)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 MenuButton(菜单按钮)组件的使用方法 ...

  6. 第一百四十三节,JavaScript,利用封装库做百度分享

    JavaScript,利用封装库做百度分享 效果图 html代码 <div id="share"> <h2>分享到</h2> <ul> ...

  7. 下列哪一个接口定义了用于查找、创建和删除EJB实例

    下列哪一个接口定义了用于查找.创建和删除EJB实例 A.Home B.Remote C.Local D.Message 解答:A remote接口定义了业务方法,用于EJB客户端调用业务方法. hom ...

  8. 好用的 Visual Studio插件

    Image Optimizer(图片优化)插件 使用行业标准优化任何JPEG,PNG和gif(包括动画gif).可以做有损和无损的优化.

  9. DIV高度设置全屏

    <div class="full"></div> .full{ height:100%; position:fixed; } 使用position的fixe ...

  10. 下载Ubuntu镜像

    Ubuntu最新桌面版:http://www.ubuntu.org.cn/download/desktop Ubuntu历史版本下载,只需要更改链接后面的版本号:http://releases.ubu ...