【唐氏题目 nt题】与众不同
# 与众不同
## 题目描述
A是某公司的CEO,每个月都会有员工把公司的盈利数据送给A,A是个与众不同的怪人,A不注重盈利还是亏本,而是喜欢研究「完美序列」:一段连续的序列满足序列中的数互不相同。
A想知道区间[L,R]之间最长的完美序列长度。
## 输入格式
第一行两个整数N,M,N表示连续N个月,编号为0到N−1,M表示询问的次数;
第二行N个整数,第i个数表示该公司第i个月的盈利值ai;
接下来M行每行两个整数L,R,表示A询问的区间。
## 输出格式
输出M行,每行一个整数对应询问区间内的完美序列的最长长度。
## 样例 #1
### 样例输入 #1
```
9 2
2 5 4 1 2 3 6 2 4
0 8
2 6
```
### 样例输出 #1
```
6
5
```
## 提示
1≤N,M≤2×10^5,0≤L≤R≤N−1,∣ai∣≤10^6。
为何唐氏
下标不按正常人习惯走,题目背景纯纯脑残,sb老板研究牛魔的完美序列。
浪费了一个小时,调题,强忍着怒火AC了。
核心思路
注意到 list 数组具有单调不减性
AC 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+8;
struct node{int mx,nx;
};
struct sgt{int a[1010000];int mx[4000010],nx[4000010];int n;void build(int p,int l,int r){if(l == r){mx[p] = nx[p] = a[l];return;}int mid = (l+r)/2;build(p*2,l,mid);build(p*2+1,mid+1,r);mx[p] = max(mx[p*2],mx[p*2+1]);nx[p] = min(nx[p*2],nx[p*2+1]);}node query(int p,int left,int right,int l,int r){if(l == left&&r == right){node ans;ans.mx = mx[p];ans.nx = nx[p];return ans;}int mid = (left+right)/2;if(r <= mid){return query(p*2,left,mid,l,r);}else if(l > mid){return query(p*2+1,mid+1,right,l,r);}else{node L = query(p*2,left,mid,l,mid);node R = query(p*2+1,mid+1,right,mid+1,r);node ans;ans.mx = max(L.mx,R.mx);ans.nx = min(L.nx,R.nx);return ans;}}
}t;
int n,m;
int last[N],f[N];
map<int,int>cnt;
int find(int L,int r){int le = L,ri = r;while(le < ri){int mid = (le+ri)/2;if(last[mid] >= L)ri = mid;else le = mid+1;}return le;
}
int main(){//ios::sync_with_stdio(0);int n,m;cin>>n>>m;for(int i = 1;i <= n;i++){int num;cin>>num;last[i] = max(last[i-1],cnt[num]+1);f[i] = i-last[i]+1;cnt[num] = i;t.a[i] = f[i];}t.build(1,1,n);for(int i = 1;i <= m;i++){int L,r;cin>>L>>r;L++,r++;int x = (find(L,r+1));if(x <= r){int ans1 = x-L;cout<<max(ans1,t.query(1,1,n,x,r).mx)<<endl;}else{cout<<r-L+1<<endl;}}
}
相关文章:
【唐氏题目 nt题】与众不同
# 与众不同 ## 题目描述 A是某公司的CEO,每个月都会有员工把公司的盈利数据送给A,A是个与众不同的怪人,A不注重盈利还是亏本,而是喜欢研究「完美序列」:一段连续的序列满足序列中的数互不相同。 A想知道区间[L,R]之…...
2000块的活嫌低?这个 6 位数的项目,你可不能错过哟!
2000块钱嫌低?这个6位数的项目,你可不能错过,关注有好礼。 最近写了一篇“接了一个2000块钱的活,大家看看值不值”的文章,发现流量和大家互动的热情出奇的高,可能是跟有钱有关的缘故,大家不是奔…...
【Postman工具】
一.接口扫盲 1.什么是接口? 接口是系统之间数据交互的通道。拿小红到沙县点餐为例:小红想吃鸭腿饭。她要用什么语言来表达?跟谁表达?通过什么表达?按照生活习惯应该是:小红根据菜单对服务员用中文表达她想要…...
全网超详细攻略-从入门到精通haproxy七层代理
目录 一.haproxy概述 1.1 haproxy简介 1.2 haproxy的主要特性 1.3 haproxy的优缺点 二.负载均衡介绍 2.1 什么是负载均衡 2.2 为什么用负载均衡 2.3 负载均衡类型 2.3.1 四层负载均衡 2.3.2 七层负载均衡 2.3.3 四层和七层的区别 三.haproxy的安装及服务 3.1 实验环…...
AI编程辅助工具:CodeGeeX 插件使用
CodeGeeX 插件使用 前言1.支持的平台2.安装步骤3.启用插件4.代码生成5.代码优化 前言 CodeGeeX 是一款基于 AI 技术的编程助手插件,旨在帮助开发者提高编程效率和代码质量。它能够智能生成代码、优化现有代码、自动生成文档以及回答编程相关的问题。无论您是初学者…...
sql注入实战——thinkPHP
sql注入实战——thinkPHP sql注入实战——thinkPHPthinkPHP前期环境搭建创建数据库开始寻找漏洞点输入SQL注入语句漏洞分析 实验错误 sql注入实战——thinkPHP thinkPHP前期环境搭建 下载thinkPHP文件 解压,将framework关键文件放到think-5.0.15中,改…...
MySQL 迁移 OceanBase 的 Oracle模式中,实现自增主键的方法
本文作者:赵黎明,爱可生 MySQL DBA 团队成员,熟练掌握Oracle、MySQL等数据库系统,擅长对数据库性能问题的诊断,以及事务与锁机制的分析等。负责解决客户在MySQL及爱可生自主研发的DMP平台日常运维中所遇到的各种问题&a…...
【C++ 面试 - 基础题】每日 3 题(十一)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...
ESP8266在线升级OTA固件
OTA的基本实现方式: ESP8266 的 OTA 实现有几种方式,常用的方式包括: 1、Arduino OTA:使用Arduino IDE提供的OTA功能,可以直接通过Arduino IDE上传固件到ESP8266。 2、Web OTA:ESP8266运行一个简易的Web服…...
精通C++ STL(六):list的模拟实现
目录 类及其成员函数接口总览 结点类的模拟实现 构造函数 迭代器类的模拟实现 迭代器类存在的意义 迭代器类的模板参数说明 构造函数 运算符的重载 --运算符的重载 运算符的重载 !运算符的重载 *运算符的重载 ->运算符的重载 list的模拟实现 默认成员函数 构造函数 拷贝…...
《雅思口语真经总纲1.0》话题实战训练笔记part1——6. Music
《雅思口语真经总纲1.0》笔记——第四章:口语素材大全(part1、part2、part3回答准则及练习方法,不包括范例答案)★★★★★ 文章目录 MusicWhen do you listen to music?20240804答评价注意事项1、在说到“no music”时ÿ…...
Python之赋值语句(多重赋值和交换赋值)
这是《Python入门经典以解决计算问题为导向的Python编程实践》73-74页关于赋值的内容。讲了Python中几种赋值方式。 赋值语句 1、最简单的赋值:ab2、多重赋值:a,b,c1,2,33、交换:a,bb,a 1、最简单的赋值:ab b可以是数字、字符串…...
网络协议七 应用层 HTTP 协议
应用层常见的协议 HTTP协议 1. 如何查看我们的http 协议全部的内容有哪些呢? 一种合理的方法是 通过 wireshark 软件,找到想要查看的HTTP --->追踪流--->HTTP流 来查看 结果如下:红色部分 为 发送给服务器的,蓝色部分为服务…...
uniapp vue 在适配百度小程序平台动态:style
uniapp vue 在适配百度小程序平台动态:style踩坑报错Unexpected string concatenation of literals 抖快平台动态style写法基本是 <view :style"{width: 686rpx, height: (setHeight 96) rpx}"> </view>这种写法在百度上会又解析报错: Une…...
【最小生成树】(二) Kruskal 算法
题目: 寻宝 题目描述 在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。 不同岛屿之间,路途距离不同,国王希望你可以规划建公路的方案…...
haproxy最强攻略
1、负载均衡 负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是 尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。 负载均衡的主要作用如下: 高并发…...
XetHub 加入 Hugging Face!
我们非常激动地正式宣布,Hugging Face 已收购 XetHub 🔥 XetHub 是一家位于西雅图的公司,由 Yucheng Low、Ajit Banerjee 和 Rajat Arya 创立,他们之前在 Apple 工作,构建和扩展了 Apple 的内部机器学习基础设施。XetH…...
在编程学习的海洋中,如何打造高效的知识宝库
目录 在编程学习的海洋中,如何打造高效的知识宝库一、笔记记录的重要性:为知识设立灯塔二、快速记录的策略:抓住知识的核心三、系统化的整理:构建个人知识体系四、实用工具推荐:为知识管理添砖加瓦五、保持条理性的秘诀…...
string详解(1)
1.C语言中的字符串 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理&…...
Linux云计算 |【第二阶段】NETWORK-DAY4
主要内容: NAT 原理与配置(私有IP地址、静态NAT转换、Easy IP)、VRRP解析(主路由器、备份路由器、虚拟路由器、优先级) 一、NAT概述 NAT 网络地址转换(Network Address Translation)是一种网络…...
ComfyUI-Manager终极指南:3个核心功能彻底解决AI工作流管理难题
ComfyUI-Manager终极指南:3个核心功能彻底解决AI工作流管理难题 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable vari…...
Taotoken的TokenPlan套餐如何实现更经济的模型调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken的TokenPlan套餐如何实现更经济的模型调用 1. 理解TokenPlan的计费模式 在模型应用开发过程中,成本的可预测性…...
top50 BF16算力(TFLOPS) 显卡排行榜 天梯图
排名显卡型号BF16算力(TFLOPS)售价(元)单TFLOPS价格(元)1B200(SXM)45002200000488.892H200(SXM)19801200000606.063MI300X1307750000573.834H100 SXM519501100000564.105RTX PRO 6000 Blackwell1150780000678.266H100 PCIe 80GB1560850000544.877RTX 50906803400050.008A100 80…...
从电磁炉到户外电源:拆解单相SVPWM如何让你的逆变器更安静、更高效
从电磁炉到户外电源:单相SVPWM如何实现静音与高效的双重突破当你深夜用电磁炉煮面时,是否曾被突然的蜂鸣声吓一跳?或是发现户外电源给设备充电时,散热风扇的噪音盖过了山林鸟鸣?这些常见问题背后,隐藏着一个…...
森优时铁锌维发根养黑用三个月真实效果实测:内服营养养黑的客观测评
"森优时铁锌维发根养黑用三个月真实效果实测显示,针对压力、熬夜引发的早白问题,通过内服补充毛囊所需营养的方式,多数使用者能感受到发根韧性提升、新生发色素沉淀改善,整体改善效果因人而异,合规的营养补充是目…...
三步实现跨架构程序兼容:Box64高效架构转换指南
三步实现跨架构程序兼容:Box64高效架构转换指南 【免费下载链接】box64 Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices 项目地址: https://gitcode.com/gh_mirrors/bo/box64 你是否曾在ARM64…...
Python PIL 画矩形框
基础代码 from PIL import Image, ImageDraw# 打开图片 img Image.open(your_image.jpg)# 创建绘图对象 draw ImageDraw.Draw(img)# 矩形坐标 (x1, y1, x2, y2) coords (23, 21, 69, 76)# 画矩形框(红色,线宽2) draw.rectangle(coords, ou…...
打不开JupyterLab
因为安装某些依赖导致JupyterLab的依赖被动升级或降级,从而影响了JupyterLab的运行,此时可以SSH登录到实例,然后输入jupyter-lab命令进行确认,如果执行命令报错则说明是此问题,那么可以通过pip install jupyterlab再次…...
AI算力要上天?别笑,太空数据中心真能干翻地球电费!
前言你有没有算过,训练一个大模型,相当于烧掉多少吨煤?如今AI狂飙突进,算力需求指数级增长,可地球上的电——不够用了!更别说建个数据中心还得跟地方政府“斗智斗勇”,抢地皮、配储能、扛审批&a…...
<背包问题>
背包问题是一类组合优化问题,其基本形式是给定一组物品,每个物品都有一个重量和一个价值,以及一个有限的背包容量,目标是在不超过背包容量的前提下,选择物品使得背包中的物品价值最大化。动态规划是解决背包问题的常用…...
