【模拟】签订协议(nowcoder 217601)
签订协议
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)相关推荐
- 年薪最低十万签订协议
区域项目负责人|城市运营专员 购物返息商城诚招项目负责人:招聘市场拓展人员和各地运营负责人 保证年薪最低十万签订协议.工 资准时按月发放.电话13012685798 转载于:https://www.c ...
- 时空电动与成都金牛区正式签订协议,5年内将在成都落地3万辆电动汽车
此次落户成都,意味着"蓝色大道"完成了"华东•华北•华中•西北•东北•西南"六大区域的布局,全国网络初步建成. 1月8日,时空电动在成都召开签约仪式,与成都金牛 ...
- C8051F310 模拟C2协议浅析与实现
C2 C2协议标准 Each C2 frame is initiated with a START condition Each C2 frame terminates with a STOP con ...
- 路由器密码和上网账号密码都忘记了怎么办,可以通过模拟PPPoE协议从路由器获取
假如忘记了上网账号和密码,最简单的就登上路由器看看就知道,但如果路由器的秘密也忘记该怎么办? 还有个办法就是通过模拟PPPoE协议从路由器获取. 路由器通常是通过PPPoE协议接入网络,在路由器连通时 ...
- STM32模拟I2C协议获取MLX90615红外温度传感器测温数据(Open Drain管脚配置)
STM32模拟I2C协议获取MLX90615红外温度传感器测温数据(Open Drain管脚配置) STM32的GPIO管脚可以配置为Open Drain输出模式,并且有两个功能: 可以设置内部上拉, ...
- STM32模拟IIC协议驱动AD7991/AD7995/AD7999芯片
STM32模拟IIC协议驱动AD7991/AD7995/AD7999芯片 AD7991/AD7995/AD7999是12位/10位/8位 4通道模拟输入的AD转换芯片 通信方式采用的是:I2C 芯片供 ...
- 分享一个iec104协议的资源,一个模拟iec104协议主站端的小工具
最近编写的iec104协议的软件也基本稳定了,现在上传到资源上去留作备份. 可实现功能: V1.005 2019.331 1.增加启动调用可执行文件目录下104.ini,调用遥信点表功能:增加显示SO ...
- 柳工挖掘机智慧工厂开工;福建自研三款医疗手术机器人;华为oppo“牵手”签订协议|每日大事件...
数据智能产业创新服务媒体 --聚焦数智 · 改变商业 01.柳工挖掘机智慧工厂开工 12月11日消息,"柳工挖掘机智慧工厂开工!"随着柳州市市长张壮宣布开工,柳工在打造工程机 ...
- Socket模拟HTTP协议之火车票购票软件
前段时间我发布过一篇文章描述Socket进行HTTP/HTTPS操作,但是还是很多朋友觉得多次一举,放着简单的HttpWebRequest不用! 实际是有些人根本没看文章就乱说了,我们的目地是提高访问 ...
最新文章
- 细粒度图像分割 (FGIS)
- Spring之HelloWorld再起
- Day01-图像处理原理与深度学习入门
- java立方表示方法
- Workbox CLI v3.x 中文版
- 4.1.1网络层功能概述
- 重磅!AI大牛邢波出任AI大学校长,李开复姚期智都是校董
- Android 圆角TabLayout
- matlab连通域分割_MATLAB车牌识别之7个字符切割浅谈【抽丝剥茧】
- 【单片机基础篇】舵机模块使用
- cgic 测试demo
- 建模算法(六)——神经网络模型
- 矩阵分析相关证明(一) —— 正交与投影
- Windows10下VB6.0开发——常见控件使用整理
- spring 常用注解以分类
- linux下rfkill命令管理蓝牙和wifi
- Python个人总结(基础+进阶)
- Lisseur Professionnel Ghd thé sont diurétiques et se traduira par nous
- 【后端学习】后端技术要点总结【一】
- JAVA并发-Future/CompletableFuture
热门文章
- ibm台式计算机不能自动关机,IBM X3650 M3 不定时自动关机求大神
- eclipse 输入卡顿_7个小技巧,解决eclipse卡顿问题
- 7-11 租用游艇问题 (15 分)(思路+详解+一步步分析+网格解决动态规划问题)Come boy!!!!
- 了解js基础知识中的作用域和闭包以及闭包的一些应用场景,浅析函数柯里化
- [EDA]Quartus II 实验简答题
- [C++11]不允许使用auto的四个场景
- [剑指offer]面试题45:圆圈中最后剩下的数字
- Compound Words UVA - 10391(c++用法中substr函数用法+map实现)
- 数据结构与算法--再谈递归与循环(斐波那契数列)
- python数组赋值给变量_Python:将数组中的元素导出到变量中 (unpacking)