★☆   输入文件:heoi2016_tree.in   输出文件:heoi2016_tree.out   简单对比
时间限制:1 s   内存限制:128 MB

这道题数据弱到炸了 。

第一次做用树刨在链上找 A了。

第二次边都没连,直接赋值找爸爸 A了。。

屠龙宝刀点击就送

#include <ctype.h>
#include <cstdio>
#define M 100005void read(int &x)
{x=0;bool f=0;char ch=getchar();while(!isdigit(ch)) {if(ch=='-') f=1;ch=getchar();}while(isdigit(ch)) {x=x*10+ch-'0';ch=getchar();}x=f?(~x)+1:x;
}
struct Edge
{int next,to;Edge (int next=0,int to=0) :next(next),to(to){}
}edge[M<<1];
int tim,cnt,fa[M],top[M],dep[M],belong[M],size[M],sign[M],N,Q,head[M];
void add(int u,int v)
{edge[++cnt]=Edge(head[u],v);head[u]=cnt;
}
void dfs1(int x)
{size[x]=1;dep[x]=dep[fa[x]]+1;for(int i=head[x];i;i=edge[i].next){int v=edge[i].to;if(fa[x]!=v){fa[v]=x;dfs1(v);size[x]+=size[v];}}
}
void dfs2(int x)
{belong[x]=++tim;int t=0;if(!top[x]) top[x]=x;for(int i=head[x];i;i=edge[i].next){int v=edge[i].to;if(fa[x]!=v&&size[t]<size[v]) v=t; }if(t) top[t]=top[x],dfs2(t);for(int i=head[x];i;i=edge[i].next){int v=edge[i].to;if(fa[x]!=v&&v!=t) dfs2(v);}
}
int Chain_query(int x)
{for(;x;x=fa[x])if(sign[x]) return x;
}
int main()
{freopen("heoi2016_tree.in","r",stdin);freopen("heoi2016_tree.out","w",stdout);read(N);read(Q);sign[1]=1;for(int x,y,i=1;i<N;i++){read(x);read(y);fa[y]=x;}
//    dfs1(1);
//    dfs2(1);char str[5];for(int x;Q--;){scanf("%s",str+1);read(x);if(str[1]=='C') sign[x]=1;else{if(sign[x]) printf("%d\n",x);else printf("%d\n",Chain_query(x));}}return 0;
}

转载于:https://www.cnblogs.com/ruojisun/p/7197479.html

COGS 2274. [HEOI 2016] tree相关推荐

  1. Cogs 2382. [HZOI 2016]最佳序列

    Cogs 2382. [HZOI 2016]最佳序列 ★☆   输入文件:bestseq.in   输出文件:bestseq.out   简单对比 时间限制:1 s   内存限制:128 MB [题目 ...

  2. 解题:HEOI 2016 求和

    题面 我们需要知道这样一个东西(大概叫 斯特林公式?) $S(i,j)=\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^k C_j^k(j-k)^i$ 那么就是推啊 $=\ ...

  3. 图论复习(各类习题)

    可以结合这篇博客进行复习:http://www.cnblogs.com/z360/p/7363034.html 一.强连通分量.缩点 习题: 洛谷--P2746 [USACO5.3]校园网Networ ...

  4. 对于美国中部覆盖图防护林形态的自动检测技术

    对于美国中部覆盖图防护林形态的自动检测技术 摘要 在美国中部广袤的农业土地上防风林是重要生态资源,常常种植呈直线状或"L"形结构以提供特定的功能.高分辨率(高于5米)土地采集数据更 ...

  5. 数据埋点|六个步骤实现数据埋点方案设计

    点击上方 蓝字 关注我们 作为数据分析师的你,是否和我一样经常会被业务方拿着两个不同数据平台的报表数据进行灵魂拷问.下面的场景你应该在熟悉不过了. 情景1 一场拉新促活的活动之后,运营拿着两个不同团队 ...

  6. 【VK Cup 2016 - Round 1 (Div 2 Edition)C】【构造】Bear and Forgotten Tree 3 构造一棵树直径为d且点1的深度为h

    Bear and Forgotten Tree 3 time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  7. Test on 09/04/2016

    滑稽树  (huajitree.pas/c/cpp) [问题描述] JZYZ的湖畔边有一棵滑稽树,每年的冬天滑稽树上都会长出很多个滑稽果.我们用一个二维平面N,M描述每个滑稽果所能落下的位置,即每个滑 ...

  8. 【清华集训2016】数据交互

    [清华集训2016]数据交互 比较神的\(DDP\). 首先对于给出的一条链我们分两部分统计:\(lca\)以及其他部分. 我们设两个变量\(w_i,g_i\).一条路径的权值就是路径上所有点的\(w ...

  9. 目标跟踪算法三:Modeling and Propagating CNNs in a Tree Structure for Visual Tracking (VOT2016冠军)

    目标跟踪算法三:Modeling and Propagating CNNs in a Tree Structure for Visual Tracking (VOT2016冠军) 文章链接:https ...

最新文章

  1. ACM-ICPC 2018 焦作赛区网络预赛
  2. java跳出指定循环
  3. 全国计算机等级考试题库二级C操作题100套(第84套)
  4. mysql模糊查询 or_mysql的模糊查询
  5. 1.阿里云短信验证操作步骤
  6. flash json php,php - codeigniter数组json和flashdata - 堆栈内存溢出
  7. 高效好用视频加密软件的4个特点
  8. android开发 自我优势_android开发简历自我评价怎么写
  9. android自定义区域生成截图,一文看懂MIUI区域截屏 使用教程 (钉子户米6也能用)...
  10. 学会用Word制作拼音田字格练习本,简单实用更省钱,宝妈必学
  11. 诞生11年,入华9年,今年的智慧城市会更好吗?
  12. matlab 变量上小尖尖,发动机最中间的那个小尖尖,你猜是什么?
  13. oracle报错 ORA-01722: 无效数字
  14. [机器学习]Lasso,L1范数,及其鲁棒性
  15. 微信小程序「柒留言」 — 无留言公众号开通微信公众号留言功能(建议收藏)
  16. 知识图谱技术发展详解(一)
  17. #![feature]` may not be used on the stable release channel 问题解决及设置Rust Channel的三种方式
  18. 每日力扣009——575. 分糖果(OnO1)
  19. E-Lin通用微服务平台介绍及性能比较
  20. 超级计算机大赛要学什么,超级计算机竞赛“七步成诗”仅三队完赛

热门文章

  1. IIS 用户验证及授权
  2. IIS部署ArcGIS JS API4.10后,字体未加载加载字体跨域
  3. 理解nodejs中函数的参数的来由
  4. nodejs 获取post数据
  5. Ubuntu下配置samba实现文件夹共享
  6. Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现
  7. 阿里团队高效沟通的秘密,全在这5点!
  8. 跟着 Github 学习 Restful HTTP API 的优雅设计
  9. 《Spring Cloud Netflix官方文档》1.服务发现:Eureka客户端
  10. setactive隐藏之后无法显示_WPS表格:如何显示和隐藏顶部工具栏?