正题

题目链接:https://www.luogu.com.cn/problem/P7726


题目大意

一个长度为nnn的排列,给出nnn个可重集SiS_iSi​表示所有长度为iii的区间的最小值构成的集合。

求构造这个排列。

1≤n≤8001\leq n\leq 8001≤n≤800


解题思路

对于一个数字,如果在SiS_iSi​中的出现次数小于iii时,证明包含它的区间中拥有不是它为最小值的情况。
所以每个数字我们找到出现次数小于iii的第一个SiS_iSi​,那么它离它左右两边比他小的数字的距离就是i−1i-1i−1。

然后考虑再求出另一边的距离,当某个时候SiS_iSi​中不包含数字xxx时,那么证明xxx距离两边的距离和小于iii,找到一个位置就可以算出另一边的距离。

然后直接从小到大找满足条件的位置插入即可。

时间复杂度O(n2)O(n^2)O(n2)


code

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<set>
using namespace std;
const int N=810;
int n,c[N],L[N],R[N],ans[N];
set<int> s;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){int x;memset(c,0,sizeof(c));for(int j=1;j<=n-i+1;j++){scanf("%d",&x);c[x]++;}for(int j=1;j<=n;j++){if(!L[j]&&c[j]!=i)L[j]=i-1;if(!R[j]&&!c[j])R[j]=i-L[j];}}R[1]=n-L[1]+1;s.insert(0);s.insert(n+1);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(ans[j])continue;int l=(*s.lower_bound(j))-j;int r=j-*(--s.upper_bound(j));if(l>r)swap(l,r);if(l==L[i]&&r==R[i]){ans[j]=i;s.insert(j);break;}}}for(int i=1;i<=n;i++)printf("%d ",ans[i]);
}

P7726-天体探测仪(Astral Detector)【构造】相关推荐

  1. [CF/AT/Luogu]各大网站网赛 爆肝部部长工作报告文件Ⅱ

    文章目录 CodeForces LATOKEN-Round-1(Div.1+Div.2) A. Colour the Flag B. Histogram Ugliness C. Little Alaw ...

  2. 基于视角特征提取的3D检测方法汇总

    作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/458068647 编辑丨3D视觉工坊 这篇文章主要是梳理一下近期3D Detection的进展,分类列举出一些我认为 ...

  3. 最新!3D目标检测论文汇总(多模态融合)

    作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/447555827 编辑丨3D视觉工坊 这篇文章主要是梳理一下近期3D Detection的进展,分类列举出一些我认为 ...

  4. Interactron: Embodied Adaptive Object Detection

    论文地址:https://arxiv.org/abs/2202.00660 代码地址:https://github.com/allenai/interactron 0. Abstract 过去多年,物 ...

  5. 目标检测之线段检测---lsd line segment detector

    (1)线段检测应用背景 (2)线段检测原理简介 (3)线段检测实例 a line segment detector (4)hough 变换和 lsd 的区别 --------------------- ...

  6. 基于人工神经网络的不规则小天体引力场建模

    学号: 2021211127 院系:航天航空学院 姓名:薛 锋 丰 §01 前  言   人工神经网络往往具有万能拟合器的作用,因此对于某些复杂的.难以用常规的数学手段进行建模的物体,都可采用神经网络 ...

  7. 天体摇摆仪的工作原理-测量电路中的部分电路波形

    ➤01 天体摇摆仪 在 天体摇摆仪的工作原理 中介绍了在视频 神奇的天体摇摆仪 中内部的电路,但是对于该电路工作的原理还存在一定的疑问.需要通过示波器测量对应个点的电压信号来进一步了解和确认它的工作原 ...

  8. 直线段检测算法(LSD:a Line Segment Detector)

    直线段检测算法(LSD:a Line Segment Detector) 1 简介 LSD是一种线段检测算法,该方法能在较短的时间内获得较高精度的直线段检测结果. LSD直线检测算法首先计算图像中所有 ...

  9. a Line Segment Detector

    FROM:http://blog.csdn.net/polly_yang/article/details/10085401 近来比较忙+生病,没有大段的时间学习PGM,临睡前回顾一篇论文--<L ...

最新文章

  1. 【网址收藏】k8s高可用集群详细搭建步骤
  2. asp.net操作Excel总结
  3. python format 冒号_python之格式化输出
  4. toj 4607 Multiple of 17
  5. 关于几个BeanPostProcessor各个回调的时机
  6. 小程序加入人脸识别_进口香料——强势加入小程序买卖平台出售
  7. java线程服务器_一台Java服务器跑多少个线程
  8. flag--命令行参数解析之StringVar
  9. ROBOGUIDE软件:FANUC机器人弧焊焊接系统配置与虚拟仿真
  10. SQL入门之第八讲——UPDATE更新语句
  11. 记一次固态硬盘数据恢复
  12. 冷山的博客思听有声书摘下载索引页
  13. Linux文件编程常用函数详解——read()和write()函数
  14. 用计算机弹EXO简谱,Power钢琴简谱-数字双手-EXO
  15. 单片机==共阴数码管(4)
  16. 2020年南京大学计算机系九推面试
  17. C#操作Word:删除指定页(缺陷无法根据内容删除,只能固定页码;Microsoft.Office.Interop.Word.dll应用)
  18. Java 泛型方法/接口、泛型限定
  19. 小白入门miniconda安装教程
  20. 52ypay comsubmit php,Hack易支付平台 - 一站式免签约支付方案-Hack易支付

热门文章

  1. mysql中如何删除表中int约束,MySQL中的约束,添加约束,删除约束,以及其他修饰
  2. python notebook右侧网页_《Python web开发》笔记 一:网页开发基础
  3. 重言式判别c语言中文网,重言式判别 重言式判别源码及课程设计 c语言版.doc
  4. 几何画板自定义工具_几何画板最强版 v5.06 中文版(含教程/实例/控件/打包机/工具集)...
  5. python时钟罗盘酷炫代码_抖音上的时钟屏保,被我改造完用来表白
  6. python opencv 图像添加噪声_opencv+python同时加椒盐噪声和随机杂点噪声
  7. 算法设计与分析——递归与分治——归并排序
  8. php的web能力,web 性能的几个概念。
  9. java swing 控件拖动_java swing中实现拖拽功能示例
  10. [C++11]initializer_lisr模板类的使用