11. 【Codeforces Round 938 (Div. 3)】D.不准确的后续搜索

news/2024/4/30 1:15:46/文章来源:https://blog.csdn.net/qq_37500874/article/details/137592300

D . 不准确的后续搜索 D.不准确的后续搜索 D.不准确的后续搜索 每次测试的时间限制: 2 秒 每次测试的时间限制:2 秒 每次测试的时间限制:2 每次测试的内存限制: 256 兆字节 每次测试的内存限制:256 兆字节 每次测试的内存限制:256兆字节


题目描述

Maxim 有一个由 n n n 个整数组成的数组 a a a 和一个由 m m m 个整数组成的数组 b b b m ≤ n m \le n mn )。

如果数组 c c c 中的元素可以重新排列,使得其中至少有 k k k 个元素与数组 b b b 中的元素匹配,那么马克西姆认为长度为 m m m 的数组 c c c 是好数组。

例如,如果 b = [ 1 , 2 , 3 , 4 ] b = [1, 2, 3, 4] b=[1,2,3,4] k = 3 k = 3 k=3 ,那么数组 [ 4 , 1 , 2 , 3 ] [4, 1, 2, 3] [4,1,2,3] [ 2 , 3 , 4 , 5 ] [2, 3, 4, 5] [2,3,4,5] 就是好数组(它们可以重新排列如下: [ 1 , 2 , 3 , 4 ] [1, 2, 3, 4] [1,2,3,4] [ 5 , 2 , 3 , 4 ] [5, 2, 3, 4] [5,2,3,4] ),而数组 [ 3 , 4 , 5 , 6 ] [3, 4, 5, 6] [3,4,5,6] [ 3 , 4 , 3 , 4 ] [3, 4, 3, 4] [3,4,3,4] 则不是好数组。

马克西姆希望选择长度为 m m m 的数组 a a a 的每个子段作为数组 c c c 的元素。帮助 Maxim 计算有多少个数组是好的。

换句话说,求有多少个位置 1 ≤ l ≤ n − m + 1 1 \le l \le n - m + 1 1lnm+1 的元素 a l , a l + 1 , … , a l + m − 1 a_l, a_{l+1}, \dots, a_{l + m - 1} al,al+1,,al+m1 构成一个好数组。


输入

第一行包含一个整数 t t t ( 1 ≤ t ≤ 1 0 4 1 \le t \le 10^4 1t104 ) - 测试用例的数量。

每个测试用例的第一行包含三个整数 n n n m m m k k k 1 ≤ k ≤ m ≤ n ≤ 2 ⋅ 1 0 5 1 \le k \le m \le n \le 2 \cdot 10^5 1kmn2105 )–数组中元素的个数。( 1 ≤ k ≤ m ≤ n ≤ 2 ⋅ 1 0 5 1 \le k \le m \le n \le 2 \cdot 10^5 1kmn2105 ) - 数组 a a a b b b 中的元素个数,即所需的匹配元素个数。

每个测试用例的第二行包含 n n n 个整数 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,,an ( 1 ≤ a i ≤ 1 0 6 1 \le a_i \le 10^6 1ai106 ) - 数组 a a a 的元素。数组 a a a 中的元素不一定是唯一的。

每个测试用例的第三行包含 m m m 个整数 b 1 , b 2 , … , b m b_1, b_2, \dots, b_m b1,b2,,bm ( 1 ≤ b i ≤ 1 0 6 1 \le b_i \le 10^6 1bi106 ) - 数组 b b b 的元素。数组 b b b 中的元素不一定是唯一的。

保证所有测试用例中 n n n 的总和不超过 2 ⋅ 1 0 5 2 \cdot 10^5 2105 。同样,保证所有测试用例中 m m m 的总和不超过 2 ⋅ 1 0 5 2 \cdot 10^5 2105


输出

对于每个测试用例,另起一行输出数组 a a a 中良好子段的数量。


思路:使用<滑动窗口>动态统计当前枚举到的子区间里面各个元素的个数,从而动态统计匹配的数的个数cnt

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7; 
const int N = 200010;int a[N],b[N];
map<int,int>ha,hb;void solve()
{ha.clear();hb.clear();int n,m,k; cin>>n>>m>>k;for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=m;i++)scanf("%d",&b[i]),hb[b[i]]++;int cnt=0,ans=0;for(int i=1;i<=n;i++){ha[a[i]]++;if(ha[a[i]]<=hb[a[i]])cnt++;if(i>m){ha[a[i-m]]--;if(ha[a[i-m]]<hb[a[i-m]])cnt--;}if(i>=m && cnt>=k)ans++;}cout<<ans<<endl;   
}int main()
{int t; cin>>t;while(t--){solve();}return 0;
}

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

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

相关文章

电能质量问题有几类?再怎样进行谐波治理

一、为什么要进行电能质量的治理 电能质量是指电力系统中电能的质量。理想的电能应该是完美对称的正弦波。一些因素会使波形偏离对称正弦&#xff0c;由此便产生了电能质量问题。一方面我们研究存在哪些影响因素会导致电能质量问题&#xff0c;一方面我们研究这些因素会导致哪…

如何用electron(vue)搜索电脑本地wifi

对于搜索本地 WiFi 网络&#xff0c;可以使用 Electron 结合 Node.js 来编写一个简单的应用程序。 以下是一个基本的示例&#xff0c;它使用 Node.js 的 wifi 模块来搜索并列出附近的 WiFi 网络&#xff1a; 首先&#xff0c;确保你已经安装了 Node.js 和 Electron。 然后&am…

linux 搭建Samba服务

Samba简介 SAMBA是⼀个实现不同操作系统之间⽂件共享和打印机共享的⼀种SMB协议的免费软件&#xff0c; SMB(Server Message block)协议是window下所使⽤的⽂件共享协议&#xff0c;我们在linux系统或 者其类unix系统当中可以通过samba服务来实现SMB功能。 &#xff08;1&…

【SpringBoot】-- mapstruct进行类型转换时Converter实现类不能自动生成代码问题解决

问题描述 我的问题如下&#xff1a; 应该在红色区域生成对应的转换细节&#xff0c;但是这里只返回了一个空对象 问题解决 加入lombok-mapstruct-binding依赖,也要注意依赖引用顺序问题 <dependency><groupId>org.projectlombok</groupId><artifactId&…

chrome google浏览器添加插件扩展失败怎么办,无法从该网站添加应用、扩展程序和用户脚本确定,

无法从该网站添加应用、扩展程序和用户脚本确定 chrome google浏览器添加插件扩展失败怎么办&#xff0c;无法从该网站添加应用、扩展程序和用户脚本确定&#xff0c; 需要打开调试模式 chrome://extensions/

NzN的数据结构--选择排序

接上文&#xff0c;本章我们来介绍选择排序。先三连后看才是好习惯~~~ 目录 一、基本思想 二、直接选择排序 三、堆排序 一、基本思想 每一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待…

Burp Suite Professional 2024.3.1 for macOS x64 ARM64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.3.1 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接&#xff1a;Burp Suite Professional 2024.3.1 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件&#xff0c;查看最新版。原…

[机器学习Day 1~3

[机器学习]Day 1~3 数据预处理第1步&#xff1a;导入库第2步&#xff1a;导入数据集第3步&#xff1a;处理丢失数据第4步&#xff1a;解析分类数据创建虚拟变量 第5步&#xff1a;拆分数据集为训练集合和测试集合第6步&#xff1a;特征量化 简单线性回归模型第一步&#xff1a;…

Echarts-实现地图并轮播地图信息

目录 ./map-geojson/jinhua.json./CenterMap.vue./center.vue 使用地图组件效果 ./map-geojson/jinhua.json {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"adcode":330…

redis过期监听机制

转自&#xff1a;https://www.cnblogs.com/wangyunhong/articles/16505079.html 1.redis配置 1.打开conf/redis.conf 文件&#xff0c;取消注释&#xff1a;notify-keyspace-events Ex 2.重启redis 3.如果设置了密码需要重置密码&#xff1a;config set requirepass **** 3…

uniapp小程序中使用video视频播放卡顿

问题:在使用uniapp小程序的video视频播放,视频已经在播放了,但是进度条没走,还是卡顿的状态(测试ios能正常使用,安卓手机会出现此问题) 在网上找了很多方法,最多的说是用:custom-cache"false",试了并没有效果,看来和我问题不一样,后来用了个简单粗暴的方法,发现是有效…

前端三剑客 —— JavaScript (第四节)

目录 内容回顾&#xff1a; 函数 *** 什么是函数 函数定义 函数调用 函数使用示例 匿名函数 无参函数 箭头函数 1、无参无返回值 2、无参有返回值 3、无参有返值&#xff0c;但函数体只有一条语句&#xff0c;则大括号可以省略&#xff0c; return 语句可以省略 4…

零售EDI:Princess Auto EDI对接

Princess Auto 是一家加拿大零售连锁店&#xff0c;专门从事农场、工业、车库、液压和剩余物品的销售。 Princess Auto 总部位于马尼托巴省温尼伯&#xff0c;截至 2024 年 1 月在 10 个省份拥有并经营 55 家商店以及三个配送中心。各种商品均以其“Powerfist”和“Pro.Point”…

【3GPP】【核心网】【5G-A】5G-A三载波聚合介绍

1. 欢迎大家订阅和关注&#xff0c;3GPP通信协议精讲&#xff08;2G/3G/4G/5G/IMS&#xff09;知识点&#xff0c;专栏会持续更新中.....敬请期待&#xff01; 目录 1. 5G-A概念 2. 什么是3CC 3. 3CC的技术看点 4. 3CC的应用场景 5. 3CC支持的终端 1. 5G-A概念 5G-A全称5G…

Unity核心学习

目录 认识模型的制作流程模型的制作过程 2D相关图片导入设置图片导入概述纹理类型设置纹理形状设置纹理高级设置纹理平铺拉伸设置纹理平台打包相关设置 SpriteSprite Editor——Single图片编辑Sprite Editor——Multiple图片编辑Sprite Editor——Polygon图片编辑SpriteRendere…

深度解析SPARK的基本概念

关联阅读博客文章&#xff1a; 深入理解MapReduce&#xff1a;从Map到Reduce的工作原理解析 引言&#xff1a; 在当今大数据时代&#xff0c;数据处理和分析成为了企业发展的重要驱动力。Apache Spark作为一个快速、通用的大数据处理引擎&#xff0c;受到了广泛的关注和应用。…

条件变量的使用(golang)

1、背景 最近在学习go的一个开源协程池&#xff0c;在源码中有用到锁、信号量&#xff0c;锁相对来说用的是比较多的&#xff0c;信号量相对用的较少&#xff0c;之前研究学习过c的std::condition_variable&#xff0c;其实和golang的大同小异&#xff0c;个人感觉c的略强…

面试算法-171-翻转二叉树

题目 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1] 解 class Solution {public TreeNode invertTree(TreeNode root) {if (root n…

绿联 安装火狐浏览器(Firefox),支持访问路由器

绿联 安装火狐浏览器&#xff08;Firefox&#xff09;&#xff0c;支持访问路由器 1、镜像 linuxserver/firefox:latest 前置条件&#xff1a;动态公网IP。 已知问题&#xff1a; 直接输入中文时&#xff0c;不能完整输入&#xff0c;也可能输入法无法切换到中文&#xff0c;可…

栈与队列2s总结(不含单调栈)

6.栈与队列 栈与队列理论基础 队列是先进先出&#xff0c;栈是先进后出。 C中stack 是容器么&#xff1f; 我们使用的stack是属于哪个版本的STL&#xff1f; 我们使用的STL中stack是如何实现的&#xff1f; stack 提供迭代器来遍历stack空间么&#xff1f; 栈和队列是STL…