zoukankan      html  css  js  c++  java
  • Codeforces Round #245 (Div. 1)——Xor-tree

    版权声明:本文为博主原创文章,未经博主同意不得转载。 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;
    }


查看全文
  • 相关阅读:
    linux常用命令
    mysql 开发基础系列20 事务控制和锁定语句(上)
    sql server 性能调优之 资源等待 CXPACKET
    mysql 开发基础系列19 触发器
    mysql 开发基础系列18 存储过程和函数(下)
    mysql 开发基础系列17 存储过程和函数(上)
    sql server 性能调优之 资源等待PAGEIOLATCH
    mysql 开发基础系列16 视图
    mysql 开发基础系列15 索引的设计和使用
    sql server 性能调优之 当前用户请求分析 (1)
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10589461.html
  • Copyright © 2011-2022 走看看