当前位置: 首页 > 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 n
        if n has no left child
            create a new node with the number x and set it to be the left child of node n
     else
         insert(x, left child of node n)
     else (x is greater than the number in node n)
         if n has no right child
             create a new node with the number x and set it to be the right child of node n
         else
             insert(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

相关文章:

  • 查看iis网站日志文件百度网盘客服电话
  • 网站 微信 app重庆seo什么意思
  • 电子政务与网站建设的经验软文广告发稿
  • java网站开发环境部署seo网站外包公司
  • 休闲咖啡厅网站开发目标百度指数的各项功能
  • 加盟网站模板成都百度推广代理公司
  • 海量数据融合互通丨TiDB 在安徽省住房公积金监管服务平台的应用实践
  • 【项目】负载均衡式在线OJ
  • 强化学习和最优控制 - 知识图谱
  • 04.基于C++实现多线程TCP服务器与客户端通信
  • 数据结构(树)
  • 用套接字在网络中传送对象的时候为什么需要序列化?
  • ROS分布式部署通信
  • 【NLP 32、文本匹配任务 —— 深度学习】
  • 电子扫盲课(郑州大学北校区计协讲座第一讲)
  • 求最大公约数【C/C++】
  • LINUX网络基础 [五] - HTTP协议
  • 中级网络工程师面试题参考示例(3)
  • 使用 MyBatis XML 和 QueryWrapper 实现动态查询
  • 大模型信息整理
  • JDBC事务管理与DAO模式实践
  • 加餐 —— Spring Boot 项目转 Solon 项目工具
  • 电子学会—2024年月6青少年软件编程(图形化)四级等级考试真题——魔法门
  • 【玩转MySQL数据字典】MySQL数据字典与常用操作指令
  • visual studio中解决方案和项目的关系?如何在同一个解决方案中添加项目?
  • 前端使用XLSX实现Excel导入导出