签订协议

nowcoder 217601

题目大意

给出n个数,现在有一个协议书,让你从1传到n,然后传回1,继续传下去
对于第i个数,如果前面i-1个数已经匹配过了,那么当协议书传过来时即可匹配,否则无法匹配
我让你让所有数匹配最少传多少圈(向上取整)

输入样例#1

5
1 5 8 4 3

输出样例#1

3

输入样例#2

10
11 8 5 7 1 6 2 3 4 10

输出样例#2

6

样例解释#1

第一轮:8
第二轮:5 4 3
第三轮:1

数据范围

1⩽n⩽8×1051⩽ai⩽1061\leqslant n \leqslant 8 \times 10^5\\1\leqslant a_i\leqslant 10^61⩽n⩽8×1051⩽ai​⩽106

解题思路

如果直接暴力枚举会TLE
当匹配完值为iii的点后需要匹配值为i+1i+1i+1的点
那么可以按aia_iai​排序,这样得到匹配的数的顺序
设viv_ivi​为当前数的初始位置
如果vi>vi−1v_i>v_{i-1}vi​>vi−1​那么不用多传一圈
否则要多传一圈

代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
int n, ans;
struct node
{int v, s;
}a[800010];
bool cmp(node x, node y)
{return x.s > y.s;//按给出的值排序
}
int main()
{scanf("%d", &n);for (int i = 1; i <= n; ++i){scanf("%d", &a[i].s);a[i].v = i;//记录初始位置}sort(a + 1, a + 1 + n, cmp);//排序for (int i = 2; i <= n; ++i)if (a[i].v < a[i - 1].v)//要多传一圈ans++;ans++;//不满一圈的printf("%d", ans);return 0;
}

【模拟】签订协议(nowcoder 217601)相关推荐

  1. 年薪最低十万签订协议

    区域项目负责人|城市运营专员 购物返息商城诚招项目负责人:招聘市场拓展人员和各地运营负责人 保证年薪最低十万签订协议.工 资准时按月发放.电话13012685798 转载于:https://www.c ...

  2. 时空电动与成都金牛区正式签订协议,5年内将在成都落地3万辆电动汽车

    此次落户成都,意味着"蓝色大道"完成了"华东•华北•华中•西北•东北•西南"六大区域的布局,全国网络初步建成. 1月8日,时空电动在成都召开签约仪式,与成都金牛 ...

  3. C8051F310 模拟C2协议浅析与实现

    C2 C2协议标准 Each C2 frame is initiated with a START condition Each C2 frame terminates with a STOP con ...

  4. 路由器密码和上网账号密码都忘记了怎么办,可以通过模拟PPPoE协议从路由器获取

    假如忘记了上网账号和密码,最简单的就登上路由器看看就知道,但如果路由器的秘密也忘记该怎么办? 还有个办法就是通过模拟PPPoE协议从路由器获取. 路由器通常是通过PPPoE协议接入网络,在路由器连通时 ...

  5. STM32模拟I2C协议获取MLX90615红外温度传感器测温数据(Open Drain管脚配置)

    STM32模拟I2C协议获取MLX90615红外温度传感器测温数据(Open Drain管脚配置) STM32的GPIO管脚可以配置为Open Drain输出模式,并且有两个功能: 可以设置内部上拉, ...

  6. STM32模拟IIC协议驱动AD7991/AD7995/AD7999芯片

    STM32模拟IIC协议驱动AD7991/AD7995/AD7999芯片 AD7991/AD7995/AD7999是12位/10位/8位 4通道模拟输入的AD转换芯片 通信方式采用的是:I2C 芯片供 ...

  7. 分享一个iec104协议的资源,一个模拟iec104协议主站端的小工具

    最近编写的iec104协议的软件也基本稳定了,现在上传到资源上去留作备份. 可实现功能: V1.005 2019.331 1.增加启动调用可执行文件目录下104.ini,调用遥信点表功能:增加显示SO ...

  8. 柳工挖掘机智慧工厂开工;福建自研三款医疗手术机器人;华为oppo“牵手”签订协议|每日大事件...

    ‍ ‍数据智能产业创新服务媒体 --聚焦数智 · 改变商业 01.柳工挖掘机智慧工厂开工 12月11日消息,"柳工挖掘机智慧工厂开工!"随着柳州市市长张壮宣布开工,柳工在打造工程机 ...

  9. Socket模拟HTTP协议之火车票购票软件

    前段时间我发布过一篇文章描述Socket进行HTTP/HTTPS操作,但是还是很多朋友觉得多次一举,放着简单的HttpWebRequest不用! 实际是有些人根本没看文章就乱说了,我们的目地是提高访问 ...

最新文章

  1. 细粒度图像分割 (FGIS)
  2. Spring之HelloWorld再起
  3. Day01-图像处理原理与深度学习入门
  4. java立方表示方法
  5. Workbox CLI v3.x 中文版
  6. 4.1.1网络层功能概述
  7. 重磅!AI大牛邢波出任AI大学校长,李开复姚期智都是校董
  8. Android 圆角TabLayout
  9. matlab连通域分割_MATLAB车牌识别之7个字符切割浅谈【抽丝剥茧】
  10. 【单片机基础篇】舵机模块使用
  11. cgic 测试demo
  12. 建模算法(六)——神经网络模型
  13. 矩阵分析相关证明(一) —— 正交与投影
  14. Windows10下VB6.0开发——常见控件使用整理
  15. spring 常用注解以分类
  16. linux下rfkill命令管理蓝牙和wifi
  17. Python个人总结(基础+进阶)
  18. Lisseur Professionnel Ghd thé sont diurétiques et se traduira par nous
  19. 【后端学习】后端技术要点总结【一】
  20. JAVA并发-Future/CompletableFuture

热门文章

  1. ibm台式计算机不能自动关机,IBM X3650 M3 不定时自动关机求大神
  2. eclipse 输入卡顿_7个小技巧,解决eclipse卡顿问题
  3. 7-11 租用游艇问题 (15 分)(思路+详解+一步步分析+网格解决动态规划问题)Come boy!!!!
  4. 了解js基础知识中的作用域和闭包以及闭包的一些应用场景,浅析函数柯里化
  5. [EDA]Quartus II 实验简答题
  6. [C++11]不允许使用auto的四个场景
  7. [剑指offer]面试题45:圆圈中最后剩下的数字
  8. Compound Words UVA - 10391(c++用法中substr函数用法+map实现)
  9. 数据结构与算法--再谈递归与循环(斐波那契数列)
  10. python数组赋值给变量_Python:将数组中的元素导出到变量中 (unpacking)