首页 > 其他分享 >暑假对STL的学习用法

暑假对STL的学习用法

时间:2023-07-20 16:46:40浏览次数:32  
标签:二分 map 下标 STL 用法 int 暑假 include 就是

map

map<int,int> s;

map<int,vector<int> > s;

map<int,list<int> > s;

这些就是map的初始化法子,前面那个就相当于数组下标,后面的就是键值了,可以用它搞二维数组就像第二 三个一样。

然后就是他的用处,他可以自动排序,但是是按照前面的key值排序,就是下标拉,不过看你怎么用这个东西,这个排序用处是有的。

然后就是其他的那些方法

 

 穿插一个函数upper_bound(这个函数是二分可以返回第一个大与你找的数字的下标)就是二分地左边界一,lower_bound(这个是返回第一个大于或等于目标数的下标)就是二分的右边界。这个就是可以让你不用打二分的函数,但是还是建议去学习二分。

 

然后就是操练了

 很简单的题。。

只要你熟悉map的使用就行

#include <bits/stdc++.h>
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <cmath>
//#define int long long
using namespace std;
const int N=1e5+5;

int32_t main()
{
    map<int,list<int> > a,b;
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        int x,y;
        cin>>x>>y;
        a[x].push_back(y);
        b[y].push_back(x);
    }
    int c,d;
    while (m--)
    {
        cin>>c>>d;
        if(c==0)
        {
            cout<<a[d].size()<<endl;
            for(auto i:a[d])  b[i].remove(d);
            a[d].clear();
        }
        else
        {
            cout<<b[d].size()<<endl;
            for(auto i:b[d]) a[i].remove(d);
            b[d].clear();
        }
    }
    return 0;
}

 

标签:二分,map,下标,STL,用法,int,暑假,include,就是
From: https://www.cnblogs.com/whatdo/p/17568795.html

相关文章

  • Mybatis中IN语句查询、Mybatis中的foreach用法
    1需求查询用户ID为101、102、103的数据,参数是一个集合2在SQL语句中select*fromt_userwhereuser_idin('101','102','103')13在Mybatis中你只需要<selectid="selectUserByIdList"resultMap="usesInfo"> SELECT......
  • linux 中 awk命令中 getline的用法
     001、[root@PC1test02]#ls[root@PC1test02]#seq1012345678910[root@PC1test02]#seq10|awk'{getline;print$0}'##getline把两行当作一行处理,而且跳过了第一行246810 002、[root@PC1test02]#ls[root@PC1test02]#seq1012345......
  • 牛客暑假多校 2023 第一场
    目录写在前面LH写在前面比赛地址:https://ac.nowcoder.com/acm/contest/57355。官方题解写得太好了都感觉没有自己整理的必要。简单写写有启发性的东西。我是垃圾。L发现进行三次操作后有:\[(x,y,z)\rightarrow(a_{b_{c_x}},b_{c_{a_{y}}},c_{a_{b_{z}}})\]每个位置仅......
  • NumPy基本用法
    NumPy(NumericalPython)Python中一个强大的数值计算库,提供了高效的多维数组对象(ndarray)以及相关的数学函数,适用于处理大量的数据和执行各种数值计算任务demoimportnumpyasnp#创建数组:使用np.array()函数可以创建NumPy数组。可以通过列表、元组或其他数组创建新数组。ar......
  • 23暑假友谊赛
    23暑假友谊赛马猴烧酒思路:枚举对行的所有可能操作,判断列需要的操作次数是否满足条件;#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongtypedefpair<int,int>PII;typedefpair<string,int>PSI;typedefpair<string,string>PSS;constintN=1e4+5,INF......
  • HDU 暑假多校 2023 第一场
    目录写在前面72837279727672757284写在最后写在前面补题地址:HDUOJ题库第63页,题号7275~7286。以下题号以题库中题号为准。题目选补,按照个人认为题目难度排序,因为我是菜狗。打这场看到马娘题目直接整个人兴奋,于是推了3h推不出来滚粗了。以为是手玩题没想到是正统博弈论呃......
  • 暑假集训随笔2 主席树/二维树状数组
    P4514上帝造题的七分钟题意维护对二维平面上的矩形区域各元素进行加法以及对矩形区域求和链接:https://www.luogu.com.cn/problem/P4514思路通过二维树状数组维护的二维前缀和利用差分实现矩形区域的区间加法与区间求和。具体而言,二维的前缀和可以仿照一维的前缀和进行定义......
  • 暑假周记(7.18)
    唉,昨天又忘写了,被小孩们调皮捣蛋气的,中午买饭还跟路边一个车(车主开门不看环境,直接就开,我没反应过来,直接撞到人家车门上了,疼的我差点饭吃不下去,浑身冒冷汗,得亏我骑得不快)碰了,郁闷的一上午,下午教那个小升初的,数学咋教也不会,哎。......
  • ThreadPoolExecutor线程池用法简介
    ThreadPoolExecutor 是Java中用于管理线程池的类,它提供了一种方便的方式来执行多线程任务。通过使用线程池,我们可以有效地管理和复用线程,提高程序的性能和资源利用率。下面是 ThreadPoolExecutor 线程池的详细用法介绍:创建线程池对象:ThreadPoolExecutorexecutor=ne......
  • Whistle(基于Node实现的跨平台转包调试工具)的使用
    可抓包,可显示vconsolet调试一、安装npmi-gwhistle二、启动手机和电脑处于同一网络w2start--init浏览器打开地址:http://127.0.0.1:8899/三、配置Rules:https://testh.app.coc.10086.cnwhistle.inspect://vConsoleconsole安装插件: w2installwhistle.ins......