思维,1209G1 - Into Blocks (easy version)

一、题目

1、题目描述

2、输入输出

2.1输入

2.2输出

3、原题链接

Problem - 1209G1 - Codeforces


二、解题报告

1、思路分析

   考虑:
        最终状态为若干段相同数字,且任意两段数字不同

每个数字出现的最左下标和最右下标构成一个区间
连锁反应——有交集的区间的并集内的数字都会变一样
那么合并区间即可,最终每个区间的贡献就是区间长度减去区间内最大数字出现次数
 

2、复杂度

时间复杂度: O(N)空间复杂度:O(N)

3、代码详解

#include <bits/stdc++.h>
using PII = std::pair<int, int>;
using i64 = long long;void solve() {const int M = 2e5 + 10;int N, Q;std::cin >> N >> Q;std::vector<int> nums(N), suf(M), cnt(M);for (int i = 0; i < N; i ++ ) {std::cin >> nums[i];suf[nums[i]] = i, cnt[nums[i]] ++;}int res = 0, l = 0, r = 0, ma = 0;for (int i = 0; i < N; i ++ ) {if (r < i) {res += r - l + 1 - ma;ma = 0;l = r = i;}// std::cout << l << " " << r << '\n';if (suf[nums[i]] > r) r = suf[nums[i]];if (cnt[nums[i]] > ma) ma = cnt[nums[i]];}res += r - l + 1 - ma;std::cout << res;
}int main () {std::ios::sync_with_stdio(false);   std::cin.tie(0);  std::cout.tie(0);int _ = 1;// std::cin >> _;while (_ --)solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/848410.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端角色负责人岗

定位&#xff1a; 有效搭建、领导、优化一个自驱力强的前端团队&#xff0c;通过制度和工具把控质量和提高团队的生产力。 素质要求&#xff1a; 资深的技术专家且在流程规范、技术上自成体系&#xff1b;团队基础建设和持续集成方面需要有丰富的经验&#xff1b;具备组织管…

算法金 | 10 大必知的自动化机器学习库(Python)

大侠幸会&#xff0c;在下全网同名[算法金] 0 基础转 AI 上岸&#xff0c;多个算法赛 Top [日更万日&#xff0c;让更多人享受智能乐趣] 一、入门级自动化机器学习库 1.1 Auto-Sklearn 简介&#xff1a; Auto-Sklearn 是一个自动机器学习库&#xff0c;基于 Python 的 scikit…

【网络编程开发】4.socket套接字及TCP的实现框架 5.TCP多进程并发

4.socket套接字及TCP的实现框架 Socket套接字 Socket套接字是网络编程中用于实现不同计算机之间通信的一个基本构建块。 在现代计算机网络中&#xff0c;Socket套接字扮演着至关重要的角色。它们为应用程序提供了一种方式&#xff0c;通过这种方式&#xff0c;程序能够通过网…

2024年城市建设与环境管理国际会议(ICUCEM 2024)

2024 International Conference on Urban Construction and Environmental Management 【1】大会信息 大会地点&#xff1a;中国成都 投稿邮箱&#xff1a;icucemsub-paper.com 【2】会议简介 2024年城市建设与环境管理国际会议是一个专注于探讨城市建设与环境管理前沿议题…

深度学习中域泛化的简要概述

深度学习中域泛化的简要概述 域泛化&#xff08;Domain Generalization&#xff09;是一种机器学习方法&#xff0c;旨在使训练模型能够在未见过的目标域&#xff08;Target Domain&#xff09;上表现良好。与域适应不同&#xff0c;域泛化在训练过程中并没有接触目标域的数据…

信号放大与放大器基础知识(学习笔记三)

1. 什么是放大器的建立时间&#xff1f; 建立时间是从输入信号变化开始到输出稳定在新值的时间间隔。 2. 放大器的耦合方式有哪些&#xff0c;各有什么优缺点&#xff1f; 直接耦合: 直接耦合是将前一级的输出端直接连接到后一级的输入端。 直接耦合方式的缺点&#xff1a;采…

EasyRecovery2024终极破解指南来袭!

在数字化时代&#xff0c;数据成为了每个人、每家公司最宝贵的资产之一。无论是个人的照片、文档&#xff0c;还是公司的机密信息&#xff0c;一旦丢失&#xff0c;后果不堪设想。因此&#xff0c;数据恢复工具如EasyRecovery2024应运而生&#xff0c;成为了保护数据安全的利器…

kubeedge v1.17.0部署教程

文章目录 前言一、安装k8s平台二、部署kubeedge1.部署MetalLB(可选)2.cloud3.edge4. 部署nginx到edge端 总结参考 前言 本文主要介绍kubeedge v1.17.0的安装过程 主要环境如下表 应用版本centos7.0k8s1.28.2kubeedge1.17.0docker24.0.8centos7.0 一、安装k8s平台 本文主要参…

八股文-Vue篇(持续更新)

八股文-Vue篇 一、Vue21. 关于生命周期1.1 生命周期有哪些&#xff1f;发送请求在created还是mounted&#xff1f;1.2 为什么发送请求不在beforeCreate里&#xff1f;beforeCreate和created有什么区别&#xff1f;1.3 在created中如何获取dom?1.4 一旦进入到组件会执行哪些生命…

Doris Connector 结合 Flink CDC 实现 MySQL 分库分表

1. 概述 在实际业务系统中为了解决单表数据量大带来的各种问题&#xff0c;我们通常采用分库分表的方式对库表进行拆分&#xff0c;以达到提高系统的吞吐量。 但是这样给后面数据分析带来了麻烦&#xff0c;这个时候我们通常试将业务数据库的分库分表同步到数据仓库时&#x…

英伟达Docker 安装与GPu镜像拉取

获取nvidia_docker压缩包nvidia_docker.tgz将压缩包上传至服务器指定目录解压nvidia_docker.tgz压缩包 tar -zxvf 压缩包执行rpm安装命令&#xff1a; #查看指定rpm包安装情况 rpm -qa | grep libstdc #查看指定rpm包下的依赖包的版本情况 strings /lib64/libstdc |grep GLI…

【代码随想录】【算法训练营】【第25天】 [216]组合总和III [17] 电话号码的字母组合

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 25&#xff0c;周六&#xff0c;坚持有点困难~ 题目详情 [216] 组合总和III 题目描述 216 组合总和III 解题思路 前提&#xff1a;组合子集问题 思路&#xff1a;回溯算法&#xff0c;剪枝…

347. 前 K 个高频元素

题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 示例 2: 输入: nums [1], k 1 输出: [1] 提示&#xff1a; 1 < nums.length < 1…

基于聚类与统计检验深度挖掘电商用户行为

1.项目背景 在当今竞争激烈的电商市场中,了解用户的行为和需求对于制定成功的市场策略至关重要,本项目通过建立RFM模型、K-Means聚类模型,将1000个用户进行划分,针对不同类的用户,提出不同的营销策略,最后通过统计检验来探究影响用户消费行为的因素和影响用户上网行为的…

Pointnet++改进即插即用系列:全网首发ConvolutionalGLU|即插即用,提升特征提取模块性能

简介:1.该教程提供大量的首发改进的方式,降低上手难度,多种结构改进,助力寻找创新点!2.本篇文章对Pointnet++特征提取模块进行改进,加入ConvolutionalGLU,提升性能。3.专栏持续更新,紧随最新的研究内容。 目录 1.理论介绍 2.修改步骤 2.1 步骤一 2.2 步骤二

DBeaver连接Oracle报错:ORA-12514

Listener refused the connection with the following error:ORA-12514, TNS:listener does not currently know of service requested inconnect descriptor ———————————————— 1.报错信息2.配置正确结语 ———————————————— 如果是第一次连接Or…

Spring 使用SSE(Server-Sent Events)学习

什么是SSE SSE 即服务器发送事件&#xff08;Server-Sent Events&#xff09;&#xff0c;是一种服务器推送技术&#xff0c;允许服务器在客户端建立连接后&#xff0c;主动向客户端推送数据。 SSE 基于 HTTP 协议&#xff0c;使用简单&#xff0c;具有轻量级、实时性和断线重…

Go微服务: 基于rocketmq:5.2.0搭建RocketMQ环境,以及示例参考

概述 参考最新官方文档&#xff1a;https://rocketmq.apache.org/zh/docs/quickStart/03quickstartWithDockercompose以及&#xff1a;https://rocketmq.apache.org/zh/docs/deploymentOperations/04Dashboard综合以上两个文档来搭建环境 搭建RocketMQ环境 1 ) 基于 docker-c…

速通数据挖掘课程

速通 数据挖掘课程 大的分类 标签预测&#xff08;分类&#xff09; 和 数值预测&#xff08;预测呀&#xff09; 监督 非监督 是否 需要预先训练模型 然后预测 聚类&#xff1a;拿一个比一个&#xff0c;看看相似否&#xff0c;然后归一类 数据四种类型 数据属性有四种&…

SpringBoot读取指定yaml文件内容

前言 在项目启动时&#xff0c;需要读取一些业务上大量的配置文件&#xff0c;用来初始化数据或者配置设定值等&#xff0c;我们都知道使用SpringBoot的ConfigurationProperties注解 application.yml配置可以很方便的读取这些配置&#xff0c;并且映射成对象很方便的使用&…