当前位置: 首页 > news >正文

打卡信奥刷题(2956)用C++实现信奥题 P5923 [IOI 2004] empodia 障碍段

P5923 [IOI 2004] empodia 障碍段

题目背景

古数学及哲学家毕氏相信自然之本质为数学。

现代生物学家研究生物数列。

题目描述

生物数列为满足下列条件的MMM个整数所成的数列:

  • 包含0,1,⋯ ,M−10, 1, \cdots, M-10,1,,M1中的所有数字。
  • 起始数字为000,最后一个数字为M−1M - 1M1
  • 数列中E+1E+1E+1不可以紧接在EEE之后。

生物数列的连续子数列称为数段。如果一个数段的:

  • 起点为该数段最小的数字。

  • 终点为该数段最大的数字且与起点不是同一个数字。

  • 且介于这两个数字之间所有的整数都出现在这个数段中。

则称这个数段为框段。

如果框段中并不包含更短的框段,则称之为障碍段。

(0,3,5,4,6,2,1,7)这个生物数列为例。

整个生物数列是一个框段,可是它包含了另外一框段(3,5,4,6),因此该生物数列不是障碍段。而框段(3,5,4,6)并不包含任何更短的框段,所以它是一个障碍段,而且是此生物数列中唯一的障碍段。请写一个程序,在输入生物数列后,输出所有的障碍段。

输入格式

第一行为单一整数MMM,代表生物数列的长度。

生物数列中的数字依序出现在接下来的MMM行,每一行有一个整数。

输出格式

第一行为一整数HHH,代表该生物数列中的障碍段的个数。

接下来的HHH行,将每一个障碍段,依照起点在原输入生物数列中出现的顺序,依序输出。

每行以222个整数AAABBB代表一个障碍段并以一个空格分开。

原输入生物数列第AAA个元素为该障碍段的起点,而第BBB个元素为该障碍段的终点。

输入输出样例 #1

输入 #1

8 0 3 5 4 6 2 1 7

输出 #1

1 2 5

说明/提示

对于100%100\%100%的数据,M≤1100000M\le1100000M1100000

C++实现

#include<bits/stdc++.h>usingnamespacestd;constintN=1200000;intn,a[N];vector<pair<int,int>>ans;intmain(){scanf("%d",&n);for(inti=1;i<=n;i++){scanf("%d",&a[i]);}inted=n;for(intl=n;l>=1;l--){intmx=a[l];for(intr=l+1;r<=ed;r++){if(a[r]<a[l]){break;}if(a[r]>mx&&a[r]-a[l]==r-l){ed=l;ans.push_back(make_pair(l,r));}mx=max(mx,a[r]);}}printf("%d\n",(int)ans.size());for(autov:ans){printf("%d %d\n",v.first,v.second);}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/484674/

相关文章:

  • 基于PID控制的步进电机控制系统仿真:Matlab Simulink的奇妙之旅
  • 打卡信奥刷题(2957)用C++实现信奥题 P5924 [IOI 2004] Phidias 菲迪亚斯神
  • 三维钢板上SH0模态的超声检测建模手记
  • “HALCON error #2404: Invalid handle type in operator do_ocr_multi_class_cnn
  • 基于RSSI加权质心定位算法:将RSSI值转换为距离并优化精确度的新方法
  • 抽象类接口内部类
  • 用大模型和RAG打造智能客服系统,小白也能轻松上手
  • 转载 Java内部类详解
  • 416. 分割等和子集-day39
  • RAG技术解析:让大模型从“闭卷考试“到“开卷考试“的进化
  • 小白的C语言之路(4)——指针运算与动态内存分配
  • Thinkphp和Laravel框架微信小程序的小区废品收购管理系统-
  • Thinkphp和Laravel框架微信小程序的手机银行储蓄业务系统的设计与实现
  • 先甩个最核心的计数器代码镇楼
  • 收藏!小白程序员快速入门:用Agent Skills让大模型能力可复用、可管理
  • 电导增量法INC仿真模型,作为目前实际光伏发电系统中最常用的mppt算法,可以用于学习研究
  • 【跟韩工学Hadoop系列第4篇】004篇-Hadoop 集群搭建-001篇
  • DEF CON CTF Annelid Challenge 深度解析
  • 2026本地口碑佳老火锅品牌排行,看看有你爱吗,重庆火锅/火锅/美食/川渝火锅/火锅店/老火锅,老火锅品牌排行榜单 - 品牌推荐师
  • 零基础搞定 PVE SPICE:远程更流畅 + 文件共享
  • 【C++】C++类的幕后高手:友元、内部类、匿名对象与编译器优化深度解析
  • 常用反弹shell简单分析
  • 玩转T-Mats库:航空发动机气路故障仿真那些事儿
  • DEF CON CTF Sudo Make Me a Sandwich —— 从权限边界到特权执行链的完整攻防复盘
  • Kali Linux 基础
  • Nunchaku FLUX.1 CustomV3体验报告:单卡RTX4090下的生成速度与画质实测
  • 【基于GasTurb的不同构型发动机性能对比】 GasTurb软件 1、涡桨、涡扇发动机等构型
  • 基于模拟退火算法优化支持向量机(SA-SVM)的多变量时间序列预测 SA-SVM多变量时间序列...
  • 从零开始,探索BTT捣蛋的6自由度仿真
  • 分期乐携程卡回收一般几折?跟着时节跳动的心电图 - 京回收小程序