添加链接描述

#include<bits/stdc++.h>
using  namespace std;
const int N=5e6+9;
int e[N],ne[N],h[N],idx,fa[N];
int n,q;
void add(int a,int b){e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int dp[N];
int ans[N];
inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w*=-1;ch=getchar();}while(ch>='0'&&ch<='9')s=s*10+ch-'0',ch=getchar();return s*w;
}
int find(int x){if(fa[x]==x)return fa[x];return fa[x]=find(fa[x]);
}
void tarjan(int u,int f){//求最近公共祖先dp[u]=dp[f]+1;for(int i=h[u];~i;i=ne[i]){int j=e[i];tarjan(j,u);fa[j]=u;}if(ans[dp[u]])ans[dp[u]]=find(ans[dp[u]]);else ans[dp[u]]=u;
}
int main(){memset(h,-1,sizeof h);scanf("%d%d",&n,&q);for(int i=1;i<=n;i++){fa[i]=i;int fa;fa=read();add(fa,i);}tarjan(1,0);while(q--){int x;x=read();printf("%d\n",ans[x]);}return 0;
}

P7103 「C.E.L.U-01」族谱树 (dfs 树形dp相关推荐

  1. #10166. 「一本通 5.3 练习 1」数字游戏【数位 DP】

    题目描述 由于科协里最近真的很流行数字游戏,某人又命名了一种取模数,这种数字必须满足各位数字之和 mod N为 0.现在大家又要玩游戏了,指定一个整数闭区间 [a,b],问这个区间内有多少个取模数. ...

  2. 「从零单排canal 01」 canal 10分钟入门(基于1.1.4版本)

    1.简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据 订阅 和 消费.应该是阿里云DTS(Data Transfer Servi ...

  3. YbtOJ「动态规划」第4章 树形DP

    YbtOJ 大全 [例题1]树上求和 设 f [ u ] [ 0 ] f[u][0] f[u][0] 表示这个点不选, f [ u ] [ 1 ] f[u][1] f[u][1] 表示这个点选. 那么 ...

  4. 安卓okhttp上传jason和图片_微信图片总是「已过期或被清理」?简单 3 招,可摆脱烦恼...

    微信图片总是「已过期或被清理」?简单 3 招可摆脱烦恼 除了文字.表格.PPT 和 PDF,大家日常办公中也常常和「图片文件」打交道. 于是,我们总碰到这样的问题: 1)图片文件太大,在线传输耗时,甲 ...

  5. #6164. 「美团 CodeM 初赛 Round A」数列互质-莫队

    #6164. 「美团 CodeM 初赛 Round A」数列互质 思路 : 对这个题来言,莫队可以 n*根号n 离线处理出各个数出现个的次数 ,同时可以得到每个次数出现的次数 , 但是还要处理有多少 ...

  6. 数据结构二之线段树Ⅱ——KiKi‘s K-Number,ball,The Child and Sequence,「雅礼集训 2017 Day1」市场,Atlantis

    值域线段树+势能线段树+扫描线 KiKi's K-Number ball The Child and Sequence 「雅礼集训 2017 Day1」市场 Atlantis KiKi's K-Num ...

  7. #6029. 「雅礼集训 2017 Day1」市场(势能,区间除)

    #6029. 「雅礼集训 2017 Day1」市场 用线段树维护数列,区间上维护最大最小值,区间和还有标记,修改时,区间加直接做,而区间除时,递归到线段树上某一区间,如果这一操作等价于区间加(也就是最 ...

  8. 7 centos 查看程序文件数量_「动手打造家庭媒体网络平台」安装篇-centos搭建DLNA媒体服务...

    大家好,我是路程lucky,热爱开发.设计.学习.生活.爱捣鼓的web前后端工程师~ 本文的重点是在之前文章提到创建的centos基础上继续搭建DLNA媒体服务.由于centos的系统是从零开始初步安 ...

  9. c++能干什么_「CG原画插画教程」学画画到底能干什么?

    原标题:「CG原画插画教程」学画画到底能干什么? 艺学绘小编收集整理了学画画到底能干什么? 学画画到底能干什么?相信很多学画画的朋友们都被问过这个问题,那些对学画画有偏见的人,总觉得我们在" ...

最新文章

  1. python小技巧-基于python本身
  2. Ardino基础教程 15_火焰报警器
  3. 正则表达式入门教程-连载(4)-点符号(.)
  4. 旧调重弹-SetUnhandledExceptionFilter的使用问题
  5. 【HDU】1695 GCD
  6. Linux下使用Nohup后台运行程序
  7. 【poj3615】 Cow Hurdles
  8. 理解numpy数组中的各个维度代表的具体意思(axis)
  9. 使用Nginx做图片服务器时候,配置之后图片访问一直是 404问题解决
  10. delphi 快速导出excel
  11. 【转】SQL server 2000 各种版本
  12. 启动开源项目 XDD
  13. paip.c++ tree parse tpath解析器
  14. vue-router 修改或添加新参数
  15. html页面阅读pdf,在HTML中查看PDF文件的最佳阅读器-HTML PDF Viewer
  16. 腾讯云服务器操作系统TencentOS安装与体验
  17. 浅谈work_mem
  18. 2020年机修钳工(初级)报名考试及机修钳工(初级)模拟试题
  19. 百度盈利模式的弱点在哪里
  20. 与计算机和网络有关的英语,网络的英语作文(通用10篇)

热门文章

  1. 获取android设备唯一编号_获取android设备的唯一ID
  2. [8] Replace the Numbers
  3. 接口调试工具 --谷歌插件 API Tester
  4. Python实现哈里斯鹰优化算法(HHO)优化卷积神经网络分类模型(CNN分类算法)项目实战
  5. wordpress 网站百度不收录是什么原因
  6. git撤销单个文件的修改_git 撤销修改以及删除文件
  7. 【美团技术博客】Hive SQL的编译过程
  8. VS2012 Cocos2D-X 环境搭建
  9. C++实现汉诺塔算法
  10. AC78013CAN模块测试(二)CAN错误寄存器