首页 > TAG信息列表 > CF570D

CF570D Tree Requests 树上差分/dsu on tree

判断能否构成回文很简单,出现次数为偶数的不用管,出现次数为奇数的最多有一个 可以用状压储存出现次数的奇偶情况,判断的时候 puts(ans[i]==(ans[i]&(-ans[i]))?"Yes":"No"); 这里用到了树状数组的lowbit求法 解法一:dsu on tree裸题详情请见这里 解法二:树上差分 划重点:能用这种方法是

CF570D Tree Requests

题目链接 CF570D 题解 复习dsu on tree 就是基于树剖均摊O(nlogn)的暴力 这题维护每一层的各个字母数量的奇偶性就行了 #include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<vector> #include<queue> #include<cmath

CF570D Tree Requests

洛咕 题意:给定一个以1为根的n个节点的树,每个点上有一个字母\((a-z)\),每个点的深度定义为该节点到1号节点路径上的点数.每次询问 \(a,b\) 查询以\(a\)为根的子树内深度为\(b\)的节点上的字母重新排列之后是否能构成回文串.\(n,m<=500000.\) 分析:还是那个模板,然后一个子树内的字