洛谷 P1377 [TJOI2011]树的序(笛卡尔树)
时间:2021-07-11
本文章向大家介绍洛谷 P1377 [TJOI2011]树的序(笛卡尔树),主要包括洛谷 P1377 [TJOI2011]树的序(笛卡尔树)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
传送门
解题思路
仔细阅读题目,发现按照顺序插入每一个节点,且按照二叉搜索树的规则。
于是满足这两个条件其实就是笛卡尔树。
但是注意这里的x是读入的数,y是读入的数的下标。
构建完笛卡尔树后,其先序遍历的x值就是最终的ans。
(按照样例画个图就很显然了)
AC代码
#include<iostream>
#include<algorithm>
#include<cstring>
#include<stack>
using namespace std;
const int maxn=1e5+5;
int n,a[maxn],l[maxn],r[maxn];
stack<int> s;
void print(int u){
if(u==0) return;
cout<<u<<" ";
print(l[u]);
print(r[u]);
}
int main()
{
ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
a[x]=i;
}
for(int i=1;i<=n;i++){
while(!s.empty()&&a[s.top()]>a[i]) l[i]=s.top(),s.pop();
if(!s.empty()) r[s.top()]=i;
s.push(i);
}
int x;
while(!s.empty()) x=s.top(),s.pop();
print(x);
return 0;
}
原文地址:https://www.cnblogs.com/yinyuqin/p/15000037.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何通过VMware安装Linux CentOS 7.7系统
- HBase入门
- VMware如何克隆一个虚拟机 主机名修改IP地址修改数据目录创建
- Python基础绘图教程(二)
- Docker简介与安装
- python绘图 | 国家气象局开源预报检验库(多图预警)
- Docker镜像与容器的常用操作
- DiDi Kafka-Manager安装和简单使用
- Docker数据管理与挂载管理
- Docker Dockerfile 指令详解与实战案例
- flume kafka和sparkstreaming整合
- Docker如何搭建私有registry镜像仓库
- Harbor介绍与企业级私有Docker镜像仓库搭建
- 如何查看docker run启动参数命令
- YAML 语言教程与使用案例