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

P6412题解

原题

题目描述

现在有一个 1 ∼ n 1\sim n 1n 的排列 a a a,将序列中的元素依次放进一个 BST 里,求 BST 中插入函数的执行次数。

注意:第一个数已经作为 BST 的根。

如果您无法理解上面说的话,这里有一份伪代码:

insert( number x, node n )c+1;if x is less than the number in node nif n has no left childcreate a new node with the number x and set it to be the left child of node nelseinsert(x, left child of node n)else (x is greater than the number in node n)if n has no right childcreate a new node with the number x and set it to be the right child of node nelseinsert(x, right child of node n) 

您需要求的就是上面的 insert 函数每进行一次后 c c c 的值。

再次注意:第一个数已经作为 BST 的根。

输入格式

第一行,一个整数 n n n,表示排列 a a a 的长度。

接下来 n n n 行,每行一个整数,第 i i i 行为 a i a_i ai

输出格式

n n n 行,一行一个整数,表示上面的 insert 函数每进行一次后 c c c 的值。

输入输出样例 #1

输入 #1

4
1
2
3
4

输出 #1

0
1
3
6

输入输出样例 #2

输入 #2

5
3
2
4
1
5

输出 #2

0
1
2
4
6

输入输出样例 #3

输入 #3

8
3
5
1
6
8
7
2
4

输出 #3

0
1
2
4
7
11
13
15

说明/提示

数据范围及限制
  • 对于 50 % 50\% 50% 的数据,保证 n ≤ 1 0 3 n\le 10^3 n103
  • 对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 3 × 1 0 5 1\le n\le 3\times 10^5

http://www.mrgr.cn/news/93664.html

相关文章:

  • 前端快速搭建Node服务(解决跨域问题)
  • HCIA复习拓扑实验
  • 【项目日记(十)】瓶颈分析与使用基数树优化
  • 快乐数 力扣202
  • FreeSWITCH 之 chat
  • π0及π0_fast的源码剖析——核心模块src的全面分析与解读:如何实现PaLI-Gemma、如何去噪生成动作
  • ROS分布式部署通信
  • C#类型转换基本概念
  • 【江协科技STM32】ADC数模转换器-学习笔记
  • 考研数一非数竞赛复习之Stolz定理求解数列极限
  • 【CVPR2025】 EVSSM:用状态空间模型高效去模糊
  • LINUX网络基础 [五] - HTTP协议
  • 【深度学习】宠物品种分类Pet Breeds Classifier
  • 在人工智能软件的帮助下学习编程实例
  • 【NLP 32、文本匹配任务 —— 深度学习】
  • 从自己电脑的浏览器访问阿里云主机中运行的LLaMA-Factory webui
  • P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS
  • 前端面试题 口语化复述解答(从2025.3.8 开始频繁更新中)
  • [HTTP协议]应用层协议HTTP从入门到深刻理解并落地部署自己的云服务(2)实操部署
  • LVGL开发说明