XJTUOJ #1323. [L2-2]三倍满世界
题目
https://oj.xjtuicpc.com/problem/1323
思路
题目说明有点绕。
然后我们仔细观察一下,这个东西很显然是一个天然的树形结构。
我们可以把一个空间(或者一个数)当成结点,门当成边,然后这个问题就是在树上边上上下下,支持随时加点删点和输出子结点。
然后一个大模拟就过了。
插入和删除很讨厌,可以直接用vector省得手写。
大水题一道,然而赛时降智打击加上前面的题一直pending心态爆炸,没调出来。
每次打比赛都状态奇差,属实丢人,感觉还是得多打多练。。。
代码
点击查看代码
#include<cstdio>
#include<cstdlib>
#include<vector>
#define maxn 100010
using namespace std;
int fa[maxn],idx=1,val[maxn];
vector<int> son[maxn];
int main(){
int i,j,q,p,v,op;
int pos=1;
scanf("%d",&q);
for(i=1;i<=q;++i){
scanf("%d",&op);
if(op==1){
scanf("%d%d",&p,&v);
son[pos].insert(son[pos].begin()+p,++idx);
fa[idx]=pos;
val[idx]=v;
}
if(op==2){
scanf("%d",&p);
son[pos].erase(son[pos].begin()+p-1);
}
if(op==3){
scanf("%d",&p);
if(!p){
if(fa[pos]) pos=fa[pos];
}
else{
if(!val[son[pos][p-1]]) pos=son[pos][p-1];
}
}
if(op==4){
int k=son[pos].size();
printf("{");
for(j=0;j<k;++j){
if(val[son[pos][j]]) printf("%d",val[son[pos][j]]);
else printf("[]");
if(j<k-1) printf(" ");
}
printf("}\n");
}
}
// system("pause");
return 0;
}
XJTUOJ #1323. [L2-2]三倍满世界的更多相关文章
- CHAPTER 19 Ordering the World 第19章 分类世界
CHAPTER 19 Ordering the World 第19章 分类世界 Our planet is home to a bewildering variety of plants and an ...
- 【scratch3.0教程】1.1 走进编程世界
第一章 认识Scratch 第1课 走进编程世界 大家认识下图中的人物吗? 史蒂夫·乔布斯 比尔·盖茨 ●Elon Musk,特斯拉.Space X火箭公司创始人,9岁学习 ...
- Sublime Text 3 全程详细图文原创教程(持续更新中。。。)
一. 前言 使用Sublime Text 也有几个年头了,版本也从2升级到3了,但犹如寒天饮冰水,冷暖尽自知.最初也是不知道从何下手,满世界地查找资料,但能查阅到的资料,苦于它们的零碎.片面,不够系统 ...
- .NET面试题系列[12] - C# 3.0 LINQ的准备工作
"为了使LINQ能够正常工作,代码必须简化到它要求的程度." - Jon Skeet 为了提高园子中诸位兄弟的英语水平,我将重要的术语后面配备了对应的英文. .NET面试题系列目录 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记1
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...
- 微信为什么发布 Mac 版?
因为 Mac 就是好啊就是好啊,就是好…… 打完收工,谢谢,鼓掌 piapiapia……晚安! 这么写在京城行走会不会挨板砖呢?头像已经印到书上满世界的发出去了,虽然考虑到行走江湖求一个稳字,我还特意 ...
- [Erlang 0105] Erlang Resources 小站 2013年1月~6月资讯合集
很多事情要做,一件一件来; Erlang Resources 小站 2013年1月~6月资讯合集,方便检索. 小站地址: http://site.douban.com/204209/ ...
- Kafka 分布式环境搭建
这篇文章将介绍如何搭建kafka环境,我们会从单机版开始,然后逐渐往分布式扩展.单机版的搭建官网上就有,比较容易实现,这里我就简单介绍下即可,而分布式的搭建官网却没有描述,我们最终的目的还是用分布式来 ...
- Dynamics AX 2012 R2 业务系列-销售业务流程
在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 1.销售的主要职责 其实这里说的职责主要是针对销售文员,并非整天外面满世界跑业 ...
- 总结四条对学习Linux系统有帮助的方法
网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在 ...
随机推荐
- Neo4j插件安装
Neo4j插件安装 Author:wss Date:2022.6.9 Topic:Neo4j插件安装 一.前言 昨天再次安装Apoc插件,又去找之前看的教程,有些地方不够清晰要几个教程对比着看,想到可 ...
- 不是用第三方插件,用JS 解析 excel 文件
参考:https://juejin.cn/post/7154395040507232264 excel 表格文件到底是什么 首先要解析 excel 文件,得先了解他是如何存储数据的,经过我百般搜索,终 ...
- redis底层数据结构之双向链表(linkedlist)
双向链表(linkedlist) redis的双向链表(linkedlist)是基于链表的一种数据结构 链表是一种常见的基础数据结构,是一种非顺序存储数据的线性表,在每一个节点里存储了下一个节点的指针 ...
- 在端点0由GET_REPORT类请求上传报表
目录 一般来说HID设备的报表在端点数量资源充裕的情况下都走中断端点上传,不会走控制端点即端点0上传,如果资源不足,可以利用端点0上传报表,USB协议中也是支持在端点0上传报表的. 以CH582为例, ...
- linux 清空catalina.out日志 不需要重启tomcat(五种方法)
linux 清空catalina.out日志 不需要重启tomcat 1.重定向方法清空文件 [root@localhost logs]# du -h catalina.out 查看文件大小17 ...
- JDK下载很慢
方法1.直接百度jdk镜像,搜到华为镜像:https://repo.huaweicloud.com/java/jdk/ 方法2.到官网拷贝下载的url:https://download.oracle. ...
- Python爬虫抓取图片(re模块处理正则表达式)
import os.path import re import requests if __name__ == '__main__': # 如果不存在该文件夹则进行创建 if not os.path. ...
- 关于jsp 中数字格式化<fmt:formatNumber>标签的用法
刚刚一个我负责的网站,出现了一个bug ,在之前没有遇到过,而且生产环境运行了4/5年了也没有发生该问题,今天发生了.所以查了一下<fmt:formatNumber>标签的用法,自己记录一 ...
- A - Yet Another Tetris Problem
A - Yet Another Tetris Problem 思路:判读一堆数字是不是同奇数偶数,写一个函数,循环遍历,然后判断是否同为奇数偶数. 代码: #include<iostream&g ...
- DPU02是一个高度集成的USB转UART的桥接控制器
DPU02是一个高度集成的USB转UART的桥接控制器,该产品提供了一个简单的解决方案,可将RS-232设计更新为USB设计,并简化PCB组件空间.该DPU02包括了一个USB 2.0全速功能控制器. ...