zoukankan      html  css  js  c++  java
  • stl-----map去重,排序,计数

    一、map

    erase()删除函数:可以迭代器删除,关键字删除,成片删除。

    例:1、iter=mapStu.find(1);

      mapStu.erase(iter);

      2、int n = mapStu.erase(1);//删除了会返回1,否则返回0;

      3、mapStu.erase(mapStu.begin(),mapStu.end());

    equal_range函数返回一个pair,pair里面的第一个变量是lower_bound返回的迭代器,pair的第二个迭代器返回的是upper_bound返回的迭代器,如果这两个迭代器相等的话,则说明map中不出现这个关键字。

    二、去重,排序,计数

    例:蓝桥杯真题   http://newoj.acmclub.cn/contests/1258/problem/9

    1659: 2018蓝桥杯培训-STL应用专题-day 3 map作业题4

    题目描述:

    福尔摩斯从X星收到一份资料,全部是小写字母组成。
    他的助手提供了另一份资料:许多长度为8的密码列表。
    福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的。
    请你编写一个程序,从第一份资料中搜索可能隐藏密码的位置。要考虑密码的所有排列可能性。

    输入:

    输入第一行:一个字符串s,全部由小写字母组成,长度小于1024*1024
    紧接着一行是一个整数n,表示以下有n行密码,1<=n<=1000
    紧接着是n行字符串,都是小写字母组成,长度都为8

    输出:

    一个整数, 表示每行密码的所有排列在s中匹配次数的总和。

    样例输入
    aaaabbbbaabbcccc
    2
    aaaabbbb
    abcabccc
    样例输出
    4

    讲真,第一反应就是KMP,然后就不知道该怎么做了,感觉例题很典型

    #include <iostream>
    #include <algorithm>
    #include <map>
    #include <cstdio>
    using namespace std;
    
    int main()
    {
       // freopen("Atext.in","r",stdin);
        string a,tmp="";
        int n,ans=0;;
        cin >> a;
        map<string,int> pp;
        for(int i=0;i<a.size()-7;i++)
        {
            tmp="";
            for(int j=i;j<i+8;j++)
            {
                tmp+=a[j];
            }
            sort(tmp.begin(),tmp.end());
            //cout << tmp <<endl;
            pp[tmp]++;
        }
        cin >> n;
        while(n--){
            cin >> tmp;
            sort(tmp.begin(),tmp.end());
            ans+=pp[tmp];
        }
        cout << ans << endl;
        return 0;
    }
  • 相关阅读:
    【TCP】TCP三次握手与四次挥手
    【Spring】@PathVariable 获取带点参数,获取不全
    【异常】Caused by: java.sql.SQLTransientConnectionException: HikariPool-1
    【异常】 FlywayException:Validate failed:Migration checksum mismatch
    Eclipse------启动Server时出现弹窗Server at localhost was unable to start within 45 seconds.
    SpringBoot------集成PageHelper分页功能
    SpringBoot------集成MyBatis
    SpringBoot------thymeleaf的使用
    SpringBoot------全局异常捕获
    SpringBoot------JPA连接数据库
  • 原文地址:https://www.cnblogs.com/Cloud-king/p/8530449.html
Copyright © 2011-2022 走看看