STL乱搞 Codeforces675D Tree Construction
来源:互联网 发布:淘宝卖家怎么评差评 编辑:程序博客网 时间:2024/06/05 16:05
传送门:点击打开链接
题意:按BST插入节点。最后输出每个节点的父节点的值是多少
思路:这场的cf脑洞都很大。。
首先,假如我们要插入的节点的值为x,我们发现父节点的值一定是<=x的最大值的右节点,或者是>x的最小值的左节点
然后我们还能发现,每次<=x的最大值的右节点,和>x的最小值的左节点,这2个位置,总是只有1个位置已经在之前被放了节点了,总是只有一个位置是空着的
那么x就应该放在这个位置了(@#$%^&*
#include <map>#include <set>#include <cmath>#include <ctime>#include <stack>#include <queue>#include <cstdio>#include <cctype>#include <bitset>#include <string>#include <vector>#include <cstring>#include <sstream>#include <iostream>#include <algorithm>#include <functional>#define fuck(x) cout<<"["<<x<<"]";#define FIN freopen("input.txt","r",stdin);#define FOUT freopen("output.txt","w+",stdout);//#pragma comment(linker, "/STACK:102400000,102400000")using namespace std;typedef long long LL;typedef pair<int, int> PII;const int MX = 1e5 + 5;map<int, bool> okl, okr;int main() { int n, t, v; set<int> S; //FIN; scanf("%d", &n); for(int i = 1; i <= n; i++) { int t, v; scanf("%d", &t); if(i >= 2) { set<int>::iterator it; it = S.lower_bound(t); if(it != S.end() && !okl[*it]) { okl[*it] = 1; v = *it; } else { it = S.upper_bound(t); it--; okr[*it] = 1; v = *it; } printf("%d%c", v, i == n ? '\n' : ' '); } S.insert(t); okl[t] = okr[t] = 0; } return 0;}
0 0
- STL乱搞 Codeforces675D Tree Construction
- Tree Construction
- hdu 3516 Tree Construction
- HDOJ 3516 Tree Construction
- hdu3516 Tree Construction
- codeforces round353 tree construction
- 二叉排序树--cf675d Tree construction
- codeforces675D set
- 乱搞+STL平衡树 序列
- 【DP】 HDOJ 3516 Tree Construction
- codeforces 353 div2 Tree Construction
- codeforces-675D Tree Construction
- [排序][stl乱搞] UVA 12957 Rectangle Park
- cf 600人 bit+大量stl乱搞
- hdu 3516 Tree construction DP+四边形不等式
- HDU 3516 Tree Construction (四边形优化DP)
- hdu 3516 Tree Construction(四边形优化)
- Tree Construction - HDU 3516 四边形不等式优化
- AFN上传多张图片到服务器
- Image图片的压缩使用
- 那些被漏掉的JQuery总结(三)——关于前台的数据计算问题
- Eclipse构建Maven项目
- 公众平台调整SSL安全策略,请开发者注意升级
- STL乱搞 Codeforces675D Tree Construction
- PPT怎么x的几次方?
- Digilent Basys2开发板驱动安装失败
- 初学JAVA环境变量配置以及编译程序和运行
- LightOj--1071--Baker Vai(拆点最大费用流)
- HDOJ 5600-N bulbs【模拟】
- Java基础 - 1.Java 语言特性及其基本语法
- 算法设计☞快速排序
- CROC 2016 - Elimination Round(A)bfs