转自:http://blog.csdn.net/qwb492859377/article/details/51447350

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <stdlib.h>
#include <map>
#include <queue>
#include <set>
using namespace std;
typedef long long LL;
const int INF=0x3f3f3f3f;
const int N=1e5+5;
typedef pair<int,int> pii;
set<pii>s;
int fa[N];
bool l[N],r[N];
int main(){int n;scanf("%d",&n);set<pii>::iterator it1,it2;pii tmp;scanf("%d",&tmp.first),tmp.second=1;s.insert(tmp);for(int i=2;i<=n;++i){scanf("%d",&tmp.first);tmp.second=i;it2=s.lower_bound(tmp);if(it2==s.end()){it1=it2;it1--;fa[i]=(*it1).first;r[(*it1).second]=true;}else {if(it2==s.begin()){fa[i]=(*it2).first;l[(*it2).second]=true;}else{it1=it2;it1--;if(!r[(*it1).second]){fa[i]=(*it1).first;r[(*it1).second]=true;}else{fa[i]=(*it2).first;l[(*it2).second]=true;}}}s.insert(tmp);}for(int i=2;i<n;++i)printf("%d ",fa[i]);printf("%d\n",fa[n]);return 0;
}

View Code

转载于:https://www.cnblogs.com/shuguangzw/p/5534283.html

codeforces 675D Tree Construction set相关推荐

  1. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  2. Codeforces 911F Tree Destruction

    Tree Destruction 先把直径扣出来, 然后每个点都和直径的其中一端组合, 这样可以保证是最优的. #include<bits/stdc++.h> #define LL lon ...

  3. Codeforces 375D - Tree and Queries(dfs序+莫队)

    题目链接:http://codeforces.com/contest/351/problem/D 题目大意:n个数,col[i]对应第i个数的颜色,并给你他们之间的树形关系(以1为根),有m次询问,每 ...

  4. Codeforces 570D Tree Requests(树上启发式合并)

    题目链接 Tree Requests 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 #define rep(i, a, b ...

  5. Codeforces 932D - Tree

    932D - Tree 思路: 树上倍增 anc[i][u]:u的2^i祖先 mx[i][u]:u到它的2^i祖先之间的最大值,不包括u pre[i][u]:以u开始的递增序列的2^i祖先 sum[i ...

  6. CodeForces - 1252L Road Construction(基环树+有源汇有上下界的最大流)

    题目链接:点击查看 题目大意:给出 n 个节点,再给出 n 个出边,保证所有的边能将 n 个点连通,每条出边可以用 m[ i ] 种材料选择其一建造,然后有 k 个工人,每个工人只可以使用一种材料建造 ...

  7. CodeForces - 1363E Tree Shuffling(树上贪心)

    题目链接:点击查看 题目大意:给出一棵有根树,根节点为点 1 ,每个节点都有一个权值 val 和两个属性 b , c ,属性 b 和 c 的权值非 0 即 1 ,现在可以进行的操作是,选择一个节点 x ...

  8. CodeForces - 1328E Tree Queries(dfs序/LCA)

    题目链接:点击查看 题目大意:给出一棵以点 1 为根节点的树,接下来有 m 次询问,每次询问给出 k 个点,题目问我们能否找到一个点 u ,使得从根节点到点 u 的简单路径,到 k 个点的每个点的距离 ...

  9. CodeForces - 932D Tree(树上倍增,好题)

    题目链接:点击查看 题目大意:给出一棵树,初始时只有一个节点1,权值为0,后续有 n 个操作,每次操作分为两种情况: 1 u val:向树中插入一个新的节点,其父节点为 u ,权值为 val 2 u ...

  10. CodeForces - 375D Tree and Queries(树上启发式合并)

    题目链接:点击查看 题目大意:给出一棵有根树,每个节点都有一个编号代表颜色,现在给出m个询问,每个询问的形式为u k,需要回答以u为根节点的子树中,数量超过k的颜色有多少种 题目分析:树上启发式合并模 ...

最新文章

  1. (C++)变长数组vector的常见用法
  2. 捷报!又一名HIV感染者被治愈,干细胞移植再次立功
  3. 开了一论坛,专门讨论控件技术
  4. spring aop实现log 日志跟踪
  5. ubuntu系统阅读CHM文档的最终解决方案
  6. 实例讲解策略产品经理工作内容
  7. 算法可以申请专利么_Ta 在假笑么?这个识别算法可以鉴定
  8. python的爬虫功能如何实现
  9. php文件覆盖相同文件,为什么这个PHP代码在打开时会覆盖文件内容?
  10. HDU2567 寻梦【输入输出流+水题】
  11. 如何设置 Web 服务器的权限之iis
  12. 转载--Ajax学习---DOM进行Web响应
  13. 190402每日一句
  14. 将秒针声音加入JAVA_喜马拉雅联合秒针系统发布声音流广告报告
  15. Python数据类型——数值型详解
  16. 热插拔机制之udev和mdev
  17. 编译原理——程序编译的基本流程
  18. html中在图片上写文字,用HTML代码在图片上写字
  19. .NET开发工程师方向
  20. 【SequoiaDB巨杉数据库】Oma-stopAllNodes

热门文章

  1. 超级计算器——两个大数相乘
  2. MyEclipse—如何在MyEclipse中创建servlet3.0
  3. request.getContextPath()和request.getRealPath()的区别
  4. Linux下如何查找nginx配置文件的位置
  5. linux下mysql 8 忘记密码
  6. Jenkins 配置mirrors
  7. MySQL 一条SQL语句执行得很慢的原因有哪些?
  8. 为什么使用close()关闭所打开文件
  9. cosnπ为什么是离散信号_奥本海姆《信号与系统》(第2版)笔记和课后习题(含考研真题)详解(下册)复习答案考研资料...
  10. php制作调查问卷,用PHP制作饼图调查表