题目链接

题意

给一个长度为MMM的序列,问它是否能作为给定的一棵树的dfs序的一部分

思路

比赛的时候和队友在写假算法,本来以为会TLETLETLE或者MLEMLEMLE,但是一直WAWAWA。
回来问了学长才过的。
按照给定序列的顺序从下到上打上同一个标记,遇到打过标记的点就returnreturnreturn,然后按照标记从小到大dfsdfsdfs得到一个dfsdfsdfs序,最后查找序列是否出现在dfsdfsdfs序列里面。
因为dfsdfsdfs结束之后才加入队列,所以序列前面的节点最先访问,这是就给他打上一个小的标记,这样只要序列正确,一定会出现在dfsdfsdfs序中

#include <bits/stdc++.h>
#define LL long long
#define P pair<int, int>
#define lowbit(x) (x & -x)
#define mem(a, b) memset(a, b, sizeof(a))
#define mid ((l + r) >> 1)
#define lc rt<<1
#define rc rt<<1|1
using namespace std;
const int maxn = 1e6 + 1;vector<int> g[maxn], num;
int fa[maxn], sign[maxn], now;
void dfs(int x) {for (int it : g[x]) {dfs(it);}num.push_back(x);
}bool cmp(int x, int y) {return sign[x] < sign[y];
}int main () {ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int T;scanf("%d", &T);while (T--) {       int n, m; scanf("%d%d", &n, &m);vector<int> list(m);now = 0;for (int i = 1; i <= n; ++i) sign[i] = 0, g[i].clear();for (int i = 2, x; i <= n; ++i) {scanf("%d", &x);g[x].push_back(i);fa[i] = x;}for (int i = 0; i < m; ++i) {scanf("%d", &list[i]);now = i+1;int tmp = list[i];while (sign[tmp] == 0) {sign[tmp] = now;tmp = fa[tmp];if (tmp == 0) break;}}for (int i = 1; i <= n; ++i) {sort(g[i].begin(), g[i].end(), cmp);}num.clear();dfs(1);int flag = 1;int j = 0;for (int i = 0; i < n; ++i) {if (num[i] == list[j]) j++;if (j == m) break;}if (j != m) flag = 0;puts(flag ? "NOT BAD":"BAD GUGU");}return 0;
}

zzuli 2525: 咕咕的搜索序列相关推荐

  1. [csp模拟2]T4——咕咕东的奇妙序列

    文章目录 题意 Input Output 输入样例 输出样例 提示 分析 总结 代码 题意 咕咕东 正在上可怕的复变函数,但对于稳拿A Plus的 咕咕东 来说,她早已不再听课,此时她在睡梦中 突然想 ...

  2. 计网第四章 网络层(咕咕咕)

    计网第四章 网络层(更新ing 咕咕咕) 网络层提供的两种服务 面向连接的通讯:虚电路 虚电路知识一种逻辑上的连接,分组沿着这个逻辑转发而不是真的建立了一条物理线路. 面向无连接的通讯:数据报服务 网 ...

  3. 咕咕漫画之弹窗破解去除

    交流学习群:692903341 咕咕漫画之弹窗破解去除 1. 编写目的 记录去除咕咕漫画的推广弹窗步骤与坑点.(如图) 2.工具使用 逆向工具: Jadx/MT管理器 抓包工具:Fiddler 运行环 ...

  4. [比赛|考试] 咕咕掉的一些比赛总结

    咕咕掉1:9月9日上午nowcoder tg组1 咕咕掉2:9月14日晚上wannafly (以上是没有写总结的比赛,考得都很惨,更新不更新看心情,如果有更新会在本文里更新的) 9.12 下午校内 1 ...

  5. 给生活添加更多乐趣!便携实用的迷你打印机-咕咕机GT1体验

    给生活添加更多乐趣!便携实用的迷你打印机-咕咕机GT1体验 咕咕机是厦门盈趣科技股份有限公司在热敏打印机的基础上研发的智能迷你打印机系列产品,由于使用方便,可玩性大,获得了广大用户的一致好评.如今该公 ...

  6. 【洛谷4996】咕咕咕

    题面 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠: ...

  7. thuwc2020咕咕记+题解

    前言 upd:更新了口胡题解 upd2: 全部fixed了- 不知道起啥名字.那就咕咕咕吧 这次看起来能写长一点- 看我心情 Day -? 隔壁的初审出了 thu的初审也出了 发现thu今年的分数线怎 ...

  8. 计算机研究生期间学英语,2022考研计算机程序设计:咕咕东学英语

    1.题目描述 咕咕东很聪明,但他最近不幸被来自宇宙的宇宙射线击中,遭到了降智打击,他的英语水平被归 零了!这一切的始作俑者宇宙狗却毫不知情! 此时咕咕东碰到了一个好心人--TT,TT在吸猫之余教咕咕东 ...

  9. CSP3--T4咕咕东学英语

    题意: 咕咕东很聪明,但他最近不幸被来自宇宙的宇宙射线击中,遭到了降智打击,他的英语水平被归零了!这一切的始作俑者宇宙狗却毫不知情! 此时咕咕东碰到了一个好心人--TT,TT在吸猫之余教咕咕东学英语. ...

  10. 不让登陆_百万伙伴争代言 不让梦想咕咕叫 中国太保寿险公益活动提前117天汇聚300万颗爱心...

    2021年1月4日,中国太保旗下中国太保寿险继"首月红"大捷后再传喜讯,以"攀登30A 为爱代言"为主题的"不让梦想咕咕叫"公益活动,在全体 ...

最新文章

  1. 苹果工具条_苹果发布iOS 13.4首个测试版:能让iPhone变身为车钥匙
  2. 「干货总结」程序员必知必会的十大排序算法
  3. 洛谷 [P1024]一元三次方程求解【二分答案】
  4. Struts2框架--学习笔记(上):搭建struts2工程、struts2基本概念、struts2对页面数据的操作
  5. Gigabit Ethernet复制数据会异常的缓慢
  6. matlab对正弦采样信号采样重建,信号与系统实验报告4
  7. JavaScript Cookie
  8. 第二次小组实践作业小组每日进度汇报:2017-11-29
  9. 互不侵犯king (状压dp)
  10. ts类型声明文件的正确使用姿势
  11. 站在思想层面看MVX架构
  12. Docker技术之容器与外部相连
  13. 【Latex学习】在IEEEtran模板中使用algorithm环境
  14. 记录习惯【Unity 3D中3D场景下嵌套2D Canvas并实现窗口缩放】
  15. beacon帧主要结构
  16. 互联网高端社畜行话大全(表情包)
  17. svchost.exe不停下载
  18. 敏捷测试--开源电子书连载
  19. 安装VMware15虚拟机+Ubuntu19.10
  20. python 制作二维码

热门文章

  1. SQLserver查看某个视图的创建语句
  2. 使用TFS+GIT实现分布式项目管理
  3. angular的自定义指令---详解
  4. maven选包算法(两个相同的包)
  5. [leetcode Summary] BFS
  6. 理解关于java反射中类的域及修饰符
  7. MemoryStream 反序列化的报错问题
  8. 人家可是见过大世面的
  9. [数据库] Navicat for MySQL触发器更新和插入操作
  10. C# 系统应用之窗体最小化至任务栏及常用操作