当前位置: 首页 > news >正文

网站建设项目报告书杭州高端模板建站

网站建设项目报告书,杭州高端模板建站,长治市建设局网站,域名如何申请「4.4」祖孙询问 题目描述 已知一棵 n 个节点的有根树。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。 输入格式 输入第一行包括一个整数 n 表示节点个数; 接下来 n 行每行一对整数对 a 和 b 表示 a 和 b 之…

 

「4.4」祖孙询问

题目描述

已知一棵 n 个节点的有根树。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。

输入格式

输入第一行包括一个整数 n 表示节点个数;
接下来 n 行每行一对整数对 a 和 b 表示 a 和 b 之间有连边。如果 b 是 -1,那么 a 就是树的根;
第 n+2 行是一个整数 m 表示询问个数;
接下来 m 行,每行两个正整数 x 和 y,表示一个询问。

输出格式

对于每一个询问,若 x 是 y 的祖先则输出 1,若 y 是 x 的祖先则输出 2,否则输出 0。

样例输入1

10
234 -1
12 234
13 234
14 234
15 234
16 234
17 234
18 234
19 234
233 19
5
234 233
233 12
233 13
233 15
233 19

样例输出1

1
0
0
0
2

注释说明

对于 30% 的数据,1≤n,m≤10^3;
对于 100% 的数据,1≤n,m≤4×10^4,每个节点的编号都不超过 4×10^4。

#include<bits/stdc++.h>
using namespace std;
const int N=4e5+5;
int n,pre[N],f[N][17],dep[N],k,lg[N];
struct node{int to,next;
}e[N*2];
void add(int u,int v){e[++k]=(node){v,pre[u]};pre[u]=k;
}
void dfs(int x,int fa){f[x][0]=fa;dep[x]=dep[fa]+1;for(int i=pre[x];i!=0;i=e[i].next){int to=e[i].to;if(to==fa)continue;dfs(to,x);}
}
int lca(int x,int y){if(dep[x]<dep[y])swap(x,y);while(dep[x]>dep[y])x=f[x][lg[dep[x]-dep[y]]];if(x==y)return x;for(int i=16;i>=0;i--){if(f[x][i]!=f[y][i]){//printf("(%d,%d)",f[x][i],f[y][i]);x=f[x][i];y=f[y][i];}}return f[x][0];
}
int main(){scanf("%d",&n);int rt,x,y;for(int i=1;i<=n;i++){scanf("%d%d",&x,&y);if(y==-1){rt=x;continue;}add(x,y);add(y,x);}dfs(rt,0);for(int i=2;i<=N;i++)lg[i]=lg[i/2]+1;for(int j=1;j<=16;j++){for(int i=1;i<=N;i++){f[i][j]=f[f[i][j-1]][j-1];}}int m;scanf("%d",&m);while(m--){scanf("%d%d",&x,&y);int lc=lca(x,y);//printf("%d\n",lc);if(lc==x)puts("1");else if(lc==y)puts("2");else puts("0");}
}
/*
10
234 -1
12 234
13 234
14 234
15 234
16 234
17 234
18 234
19 234
233 19
5
234 234
234 17
233 13
233 15
233 19
*/

http://www.yayakq.cn/news/822337/

相关文章:

  • 做网站时给网页增加提醒lol视频网站模板
  • 怎么用polylang做网站网络推广有
  • 做木材生意的外贸网站企业为什么要建设自己的网站
  • 红谷滩园林建设集团有限公司 网站上海青浦做网站
  • 网站建设与管理需要什么软件蛋糕店网页设计图片
  • 做网站需要提交wordpress新闻主题
  • 静态网站 搜索现在进出深圳最新规定
  • 广州黄埔建网站帝国cms和wordpress哪个更好
  • 完整网站开发教程外贸网站建设内容包括
  • 网站建设 dw金牛区建设审批网站
  • 专做企业的p2p网站凡科做的网站百度不到
  • 仿站在线有哪些关于校园内网站建设的法律
  • 罗永浩做的网站做卫浴软管的网站
  • 一级a做爰片免费网站国语好看的静态网站
  • 网站建设需要注意事项白名单查询网站
  • 甘肃城乡建设部网站首页重庆公司注册官网入口
  • 如何做背景不动的网站wordpress首页视频主题
  • 安微省住房和城乡建设厅网站国外做电商网站
  • 网站服务器的选择有哪几种方式?青岛网络优化厂家
  • 做电子的外单网站有哪些的网站建设领导讲话稿
  • 宁波公司建设网站哪里有免费的网站域名
  • 魔方网站建设好的网站设计特点
  • 网站地图模板域名抢注
  • 网站维护是什么职业苏州企业商务网站建设
  • 目前小说网站排名医疗网站建设流程
  • 类似于美团的网站怎么做漳州网站开发找出博大科技
  • 网站建设流程范文站长统计网站大全
  • 中国做的电脑系统下载网站好wordpress中php.ini
  • 可以做外贸的网站Wordpress的主机地址改变
  • 网站优化和提升网站排名怎么做深圳创建网站公司