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

Codeforces Round #637 (Div. 2) C. Nastya and Strange Generator(阅读理解/思维)

题目链接


在这里插入图片描述
1.题目大意:给出一个序列,问能否构造出这个序列。首先要构造数组为空,构造过程如下:
在第 i i i步,我们只能向序列中填入数字 i i i。被构造数组 a a a的每个位置 j j j [ j , n ] [j,n] [j,n]中第一个为空的位置,那么对应 r r r数组就是其位置,那么一开始 a a a数组均为空, r r r数组就是{1,2,3,4,5}, c o u n t count count数组记录这些位置每种出现多少次,即{1,1,1,1,1}。每次选择出现次数最多的位置,那么这时我们选择位置 5 5 5,那么数字 1 1 1就填入数组,即此时的 a a a数组为{?,?,?,?,1};然后数组 r r r为{1,2,3,4,×}(×代表没有), c o u n t count count数组为{1,1,1,1,0}…

2.第一次写这种构造题写吐了,完全不知所然。看了题解慢慢地懂了,按照上面的步骤,我们将数字 i i i填入位置 p o s pos pos后,那么如果 p o s < n pos<n pos<n,如果位置不被占用的话下一个被填的位置一定为 p o s + 1 pos+1 pos+1,则此时填的数字为上一个数字加 1 1 1;如果较大的位置被较小的数字占用了,那么会出现第二个数比第一个数小的情况,也同样可以满足,如4 3 1 2

3.那么最后的规律就是要么 a [ i + 1 ] a[i+1] a[i+1]等于 a [ i ] + 1 a[ i ]+1 a[i]+1要么 a [ i + 1 ] < a [ i ] a[i+1]<a[i] a[i+1]<a[i],即 a [ i + 1 ] a[i+1] a[i+1]比于 a [ i ] a[i] a[i] 2 2 2及以上

#include <iostream>

using namespace std;
const int maxn=2e5+10;
int a[maxn];
int n,t;

int main(){
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    cin>>t;
    while(t--){
        cin>>n;
        for(int i=1;i<=n;i++) cin>>a[i];
        int flag=1;
        for(int i=2;i<=n;i++){
            if(a[i]-a[i-1]>1){
                flag=0;
                break;
            }
        }
        if(flag) puts("Yes");
        else puts("No");
    }
    return 0;
}

相关文章:

  • Broken Space Bar(Trie)[待补]
  • 小白兔和小灰兔
  • VC图片显示特效
  • UVA1153 Keep the Customer Satisfied(贪心+优先队列)
  • UVA10570 Meeting with Aliens(枚举/优化)
  • flash小实验
  • 2019 ICPC Greater New York Region J - Unicycles (规律+递推+矩阵快速幂)
  • WebLogic 9.2中文帮助网站公测中,欢迎大家访问!
  • 2019 ICPC Greater New York Region C - PassTheBuck(概率)
  • Oracle11gR2安装简介
  • 2019 ICPC Greater New York Region I - RationalBase(思维+进制转换)
  • 广告营销的创新
  • Educational Codeforces Round 86 C - Yet Another Counting Problem(规律+前缀和)
  • SQL Server2005重装Performance Monitor Counter Requirement错误解决
  • UVA1616 Caravan Robbers(二分答案+小数化分数)
  • Hibernate最全面试题
  • PHP 的 SAPI 是个什么东西
  • PV统计优化设计
  • Python进阶细节
  • React的组件模式
  • React系列之 Redux 架构模式
  • Vim Clutch | 面向脚踏板编程……
  • vue:响应原理
  • 聊一聊前端的监控
  • 每天10道Java面试题,跟我走,offer有!
  • 白色的风信子
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • (9)目标检测_SSD的原理
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)EOS中账户、钱包和密钥的关系
  • .dwp和.webpart的区别
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Micro Framework初体验
  • .net对接阿里云CSB服务
  • .NET连接数据库方式
  • /etc/sudoer文件配置简析
  • /usr/bin/env: node: No such file or directory
  • @GetMapping和@RequestMapping的区别
  • @RequestBody与@ResponseBody的使用
  • [ 转载 ] SharePoint 资料
  • [].slice.call()将类数组转化为真正的数组
  • [Angular] 笔记 6:ngStyle
  • [Avalon] Avalon中的Conditional Formatting.
  • [EFI]Dell Latitude-7400电脑 Hackintosh 黑苹果efi引导文件
  • [Head First设计模式]策略模式
  • [HUBUCTF 2022 新生赛]
  • [JS设计模式]Prototype Pattern
  • [LeetCode]-Integer to Roman 阿拉伯数字转罗马数字
  • [Linux]——彻底学通权限