首页 > 其他分享 >7713: 离散化去重 map

7713: 离散化去重 map

时间:2023-10-15 22:44:08浏览次数:36  
标签:map 7713 输出 int 整数 查询 mp 化去

描述

 

“离散化”是指把一个无穷大的集合映射到一个有限的集合中。

如有n个整数,其中可能存在相同的数,现在需要你将其去重后得到的m个数用1~m来表示,同时保持原始的大小顺序不变,即在不改变数据相对大小的条件下,对数据进行相应的缩小。

如:

原数据:1, 999, 100000, 15

处理后:1, 3, 4, 2

同时给出若干查询,查询某个整数x被表示为1~m中的什么数?

 

 

输入

 

第一行为正整数n和q(1<=n<=100000,1<=q<=100000),表示原始数据个数和查询次数;

第二行为空格隔开的n个整数。

第三行为q个空格隔开的整数,每个整数为待查询的值。

 

 

输出

 

对于每次查询,输出被映射后的值,每行一个。

如果查询的值不存在,输出None

 

 

样例输入

 

10 3
1 2 2 3 5 5 8 9 9 10
2 9 11

样例输出

 

2
6
None

使用map有种用现代科技打古代人的感觉。。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3+10,inf = 0x3f3f3f3f;

int main()
{
    int n,m,i;
    cin >> n >> m;
    map<int,int> s,mp;
    map<int,int>::iterator it;
    for(int i = 1; i <= n; i++)
    {
        int x; scanf("%d",&x);
        s[x] = 1;
    }
    for(it = s.begin(),i = 1;it != s.end(); it++,i++)
    {
        mp[it->first] = i;
    }
    while(m--)
    {
        int x; scanf("%d",&x);
        if(mp[x]) printf("%d\n",mp[x]);
        else puts("None");
            
    }
    return 0;
}

 

标签:map,7713,输出,int,整数,查询,mp,化去
From: https://www.cnblogs.com/jyssh/p/17766388.html

相关文章

  • [网鼎杯 2020 朱雀组]Nmap
    原理nmap写入文件连接木马两个函数绕过escapeshellarg()escapeshellcmd()解题过程文章:https://blog.csdn.net/qq_63701832/article/details/128793013......
  • hashmap,arrayList,concurrentHashMap扩容机制
    HashMap1.7和1.8扩容机制在Java1.7中,HashMap的扩容机制是当容量超过负载因子与数组长度的乘积时就会进行扩容。默认负载因子为0.75,即当数组长度为n时,当元素个数size超过n*0.75时就会扩容。扩容时,数组长度会变为原来的2倍,并且将原来的元素重新计算哈希值,再散列到新......
  • 以PMIC为例简析Linux MFD/Remap/Regulator的使用
     关键词:ADI、SPI、Regmap、MFD、Regulator、PMIC等等。 以SC27XX为例,梳理一个PMIC用到的内核模块。1.MFD框架MFD是Multi-FunctionDevice,MFD子系统是Linux下一种用于管理和控制多功能设备的软件框架。他提供一种统一接口,使得多个设备可以通过一个驱动程序进行管理和控制。K......
  • MFC静态反编译GetMessageMap相关查找方法
    MFC中GetMessageMap包含对多数消息处理的结构,界面菜单,按钮都在这,找到GetMessageMap很关键structAFX_MSGMAP_ENTRY{UINTnMessage;//windowsmessageUINTnCode;//controlcodeorWM_NOTIFYcodeUINTnID;//controlID(or0forwindowsmessage......
  • ArcMap将0作为遥感影像的NoData无效值
      本文介绍在ArcMap软件中,将栅格图层中的0值或其他指定数值作为NoData值的方法。  在处理栅格图像时,有时会发现如下图所示的情况——我们对某一个区域的栅格数据进行分类着色后,其周边区域(即下图中浅蓝色的区域)原本应该不被着色;但由于这一区域的像元数值不是NoData值,而是0值,导......
  • 使用Stream流将List转化为Map的几种方式
    在工作中常常会遇到将List转化为Map的场景,下面总结了经常使用到的几种方式;并简单的做了简单测试,供大家学习使用。准备工作:List<UserEntity>entityList=newArrayList<>();UserEntityuserEntity=newUserEntity();userEntity.setUserId("0001");userEntity.setUserName("00......
  • 前端map函数
    前端中的map函数是JavaScript中的数组方法,它可以用于遍历数组并返回一个新的数组。map函数接受一个回调函数作为参数,该回调函数会对数组中的每个元素执行某个操作,并将操作后的结果存储在新的数组中。以下是map函数的基本语法:array.map(callback(currentValue[,index[,array]])[,......
  • QT基础教程(QMap和QHash)
    (文章目录)前言本篇文章将为大家讲解QT中两个非常重要的类:QMap和QHash。QMap和QHash都是Qt框架中用于存储键值对的数据结构,它们提供了快速的查找、插入和删除操作,但在某些方面有一些不同之处。一、QMapQMap是一个有序的键值对容器,它根据键的顺序来存储元素。当您需要按照键的......
  • elasticsearch通过Java class类的@Setting和@Mapping来定义索引index
    今天就来和大家讲讲如何将es索引中的mapping和setting在索引index和class联系起来,其实在这个问题也困扰我好久了,一直没有解决,在elasticsearch7.x版本的时候貌似好像可以用request在程序中来建立索引,像Stringindex=“{“mapping”:...}”之类的操作,干起来比较复杂,在elasticsear......
  • 6450: levil与时间点 map
    描述 levil有T个时间点会对一个长度未知数组进行操作,开始时数组里仅有一个元素x,接下来每个时间点,levil都会进行下面的操作中的一种。操作一:输出当前数组中最大元素的最大因子。操作二:将一个新的数y加入数组。操作三:输出数y在数组中有几个。操作四:将数y从数组中删除一个。......