【算法训练营】周测1

清华大学驭风计划课程链接 

学堂在线 - 精品在线课程学习平台 (xuetangx.com)

如果需要答案代码可以私聊博主

有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~

考题11-1


题目描述

有一个初始时为空的序列,你的任务是维护这个序列,需要进行的各种操作的表示与意义如下:

  • 1 k x: 在序列末尾插入 k个值都为 x 的数;
  • 2 k: 删除序列末尾的 k个数,若序列已不足 k 个数,则删除序列中全部的数。

每次操作后,求序列的众数的值。一个序列的众数定义为该数列中出现次数最多的数,若出现次数最多的数有多种,取其中数值最小的数。

输入格式

从标准输入读入数据。

输入第一行为一个正整数 q,表示操作次数。

接下来 q 行描述依次进行的操作,每行描述一个操作,每个操作的输入方式同题目描述。

输出格式

输出到标准输出。

对于每个操作,输出操作完成后序列的众数(若序列为空则输出 -1),并换行。

样例1输入

4
1 2 1
1 3 2
2 1
2 5

样例1输出

1
2
1
-1

样例1解释

第 1 次操作后,序列为 1 1,众数为 1。

第 2 次操作后,序列为 1 1 2 2 2,1 出现了 2 次,2 出现了 3 次,众数为 2。

第 3 次操作后,序列为 1 1 2 2,两种数都出现了 2 次,取较小的 1。

第 4 次操作后,序列为空,输出 -1。

样例2

见题目目录下的 2.in 与 2.ans

样例文件点此下载。

子任务

考题8-1


题目描述

实现一个双向链表,支持以下操作:

  1. split_succ(x):将 x 与 x 的后继(后一个)分离,若 x 没有后继,输出 no,否则输出 yes
  2. split_prev(x):将 x 与 x 的前驱(前一个)分离,若 x 没有前驱,输出 no,否则输出 yes
  3. link(x, y):将 x 接到 y 的前面,即 x 是 y 的前驱,y 是 x 的后继,若 x 已经有后继或者 y 已经有前驱,输出 no,否则输出 yes
  4. visit_succ(x):从 x 开始,一直按照后继访问下去,直到回到 x 或者没有后继为止,输出经过的所有节点编号
  5. visit_prev(x):从 x 开始,一直按照前驱访问下去,直到回到 x 或者没有前驱为止,输出经过的所有节点编号

以上的 x 均为节点编号,一共有 n 个节点,编号从 1 到 n。

一开始 n 个节点的前驱、后继均为空,也就是每个节点都是独立的节点。

输入格式

第一行两个正整数 n, m,接下来有 m 行,每行表示一个操作,格式见样例

输出格式

依次输出 m 行,每行代表一个操作的结果,格式见样例

样例 1 输入

4 15
split_succ 1
split_prev 2
link 1 2
visit_succ 1
link 2 3 
link 1 4
visit_succ 1
visit_succ 2
visit_prev 1
link 3 1
visit_prev 1
link 4 1
visit_succ 1
visit_succ 2
visit_succ 3

样例 1 输出

no
no
yes
1 2
yes
no
1 2 3
2 3
1
yes
1 3 2
no
1 2 3
2 3 1
3 1 2

样例 2 和 样例 3

点击下载

数据范围

对于 60% 的数据,1 ≤ n, m ≤ 100;

对于全部 100% 的数据,1 ≤ n, m ≤ 1,000。

时间限制:2 s

空间限制:512 MB

考题6-1


题意

输入

输出

每组数据输出一行,若该组数据的两个二叉树结构相同,输出 yes,否则输出 no。

样例 1 输入

2
3
1 2
-1 -1
-1 -1
2 1
-1 -1
-1 -1
3
1 -1
2 -1
-1 -1
-1 1
2 -1
-1 -1

样例 1 输出

yes
no

样例 1 解释

第一个数据是 yes,如图

解释一下第一个数据的二叉树,数据是这样的

3      // 有 3 个点
1 2    // 二叉树 a 的 0 号点左孩子为 1,右孩子为 2
-1 -1  // 二叉树 a 的 1 号点左孩子为空,右孩子为空
-1 -1  // 二叉树 a 的 2 号点左孩子为空,右孩子为空
2 1    // 二叉树 b 的 0 号点左孩子为 2,右孩子为 1
-1 -1  // 二叉树 b 的 1 号点左孩子为空,右孩子为空
-1 -1  // 二叉树 b 的 2 号点左孩子为空,右孩子为空

第二个数据是 no。

样例 2 和 样例 3

点击下载

数据范围

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/543521.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第40天 | 343. 整数拆分 ,96.不同的二叉搜索树

动态规划章节理论基础: https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 343. 整数拆分 题目链接:https://leetcode.cn/problems/integer-break/ 思路: 动规五部曲&#xf…

C语言 之 结构体超详细总结

🌈 个人主页:白子寰 🔥 分类专栏:魔法指针,进阶C,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分78.8),分…

文件包含例子

一、常见的文件包含函数 php中常见的文件包含函数有以下四种: include() require() include_once() require()_once() include与require基本是相同的,除了错误处理方面: include(),只生成警告(E_WARNING)&#x…

什么是 KNIME Hub(2024)

什么是 KNIME Hub KNIME Hub 是一个中央存储库和协作平台,它是用来促进与 KNIME Analytics Platform(分析平台,AP)相关的工作流、节点、组件和扩展的共享和管理。它既充当工作流存储库又充当协作空间,使用户能够发现和利用可合并到其数据分析项目中的各种…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:StepperItem)

用作Stepper组件的页面子组件。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 接口 StepperItem() 属性 参数名参数类型参数描述prevLabelstring设置左侧文本按钮内…

解析编程中不可或缺的基础:深入了解结构体类型

精琢博客,希望可以给大家带来收获~ 博主主页:17_Kevin-CSDN博客 收录专栏:《C语言》 引言 在编程中,结构体是一种自定义的数据类型,它允许开发人员将不同类型的数据组合在一起,并为其定义相关属性和行为。…

德人合科技 | 公司办公终端、电脑文件资料 \ 数据透明加密防泄密管理软件系统

天锐绿盾是一款全面的企业级数据安全解决方案,它专注于为企业办公终端、电脑文件资料提供数据透明加密防泄密管理。 首页 德人合科技——www.drhchina.com 这款软件系统的主要功能特点包括: 1. **透明加密技术**: 天锐绿盾采用了透明加密技…

【Java刷题篇】滑动窗口

文章目录 📃滑动窗口📜基本概念📜核心思路 ✍最大连续1的个数 III✍水果成篮 📃滑动窗口 📜基本概念 滑动窗口是一种基于双指针的一种思想,两个指针指向的元素之间形成一个窗口。 分类:窗口有…

瑞熙贝通实验室安全培训考试系统

一、系统概述 瑞熙贝通实验室安全培训考试系统是一种基于互联网和人工智能技术的在线考试平台,旨在旨在提供实验室安全教育和考核的全面解决方案。该系统可以帮助实现实验室安全培训考试的在线化、智能化和规范化,提高实验室安全意识和能力,…

​如何使用 ArcGIS Pro 分析爆炸波及建筑

假设在某栋建筑内发生了爆炸,需要根据爆炸的范围分析出来波及的建筑,对于这一需求,我们可以通过ArcGIS Pro来实现,这里为大家介绍一下分析的方法,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载…

HTML实现卷轴动画完整源码附注释

动画效果截图 页面的html结构代码 <!DOCTYPE html> <html> <head lang=

京东云主机+京美建站SaaS版

京美建站SaaS版 京美建站搭建企业网站、小程序、3000精美模板 链接:https://daili.jd.com/s?linkNo57UBX34BZMWGNFYTOCPVUE7SN36CCIPKLTFLPCUCPYBKSYYBIPS2BJ57GP7RACLDHU66X526ZOULMIXL2VN7DT7IHU 京东云主机&#xff0c;安全稳定&#xff0c;性能强劲&#xff0c;新客下单…