CodeForces570D - Tree Requests 【dfs序】
来源:互联网 发布:linux piwik 安装 编辑:程序博客网 时间:2024/05/18 16:13
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<vector>using namespace std;#define maxn 500010int n,m,t,d,tmp;vector<int> e[maxn],pos[maxn],sta[maxn];char s[maxn];int idx,in[maxn],out[maxn],st,ed;void dfs(int u,int dep){in[u]=++idx;pos[dep].push_back(in[u]);sta[dep].push_back(sta[dep].size()?sta[dep].back()^(1<<(s[u]-'a')):1<<(s[u]-'a'));for(int i=0;i<e[u].size();i++)dfs(e[u][i],dep+1);out[u]=idx;}#define lowbit(x) (x&-x)int count(int x){int ret = 0;while(x){ret++;x-=lowbit(x);}return ret;}int main(void){scanf("%d%d",&n,&m);for(int i=2;i<=n;i++){scanf("%d",&t);e[t].push_back(i);}getchar();gets(s+1);dfs(1,1);for(int i=1;i<=m;i++){scanf("%d%d",&t,&d);st = lower_bound(pos[d].begin(),pos[d].end(),in[t])-pos[d].begin();ed = upper_bound(pos[d].begin(),pos[d].end(),out[t])-pos[d].begin()-1;if(ed<st){puts("Yes");continue;}//t的子树中没有深度为d的结点。tmp = sta[d][ed];if(st)tmp^=sta[d][st-1];if(count(tmp)<=1)puts("Yes");else puts("No");}return 0;}dfs序+异或 状态压缩
1 0
- CodeForces570D - Tree Requests 【dfs序】
- cf#316-codeforces570D - Tree Requests -dfs序+分类再二分+树dp+异或位运算+bitmask(位压缩)
- [Codeforces570D]Tree Requests(dsu on the tree)
- [codeforces570D]Tree Requests(dsu on the tree)
- Codeforces 570D TREE REQUESTS dfs序+树状数组
- codeforces 570 D. Tree Requests 树状数组+dfs搜索序
- Codeforces Round #316 (Div. 2) D. Tree Requests (DFS序)
- codeforces #316 D.Tree Requests (巧妙的dfs序)
- 【Codeforces 570D 】Tree Requests dfs序+二分
- [Codeforces #316 D. Tree Requests]DFS序、离线、二分
- Codeforces 570D Tree Requests【Dfs序+二分】好题!
- Tree Requests (dfs序,二进制优化,好题)
- codeforces 570D Tree Requests (树转dfs序,区间统计)
- Codeforces 570D TREE REQUESTS dfs序+树状数组 异或
- Codeforces Round #316 (Div. 2) D. Tree Requests(DFS序+BFS+二分)
- codeforce 570D Tree Requests(dfs+位运算,好题)
- cf343dWater Tree(dfs序)
- Codeforces Round #316 (Div. 2) D. Tree Requests(DFS+状态压缩)
- 【SUBSTRING_INDEX】MySQL官方示例
- 线程同步之互斥锁
- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- 机器学习入门
- 表达式的应用
- CodeForces570D - Tree Requests 【dfs序】
- -webkit-linear-gradient 学习
- WEB开发2--request&response
- Linux ELF文件
- python核心编程学习笔记-2016-10-01-01-客户端COM编程
- tcp
- 正则表达式
- Trapping rain water
- intellij idea 2016 注册码