HDU 1004 MAP【STL__map_的应用】

强大的MAP,今天终于开始好好学习一次。

map内部是用红黑树维持的有序结构。

定义:map<int,string>mapStudent;

查找的时间复杂度为对数级别.

1.构造方法学习两种:

第一种:用insert函数插入pair数据,mapStudent.insert(pair<int, string>(0,"jiangjing"));

第二种:用数组方式插入数据

mapStudent[1] = "jiangjing1";  mapStudent[2] =  "jiangjing2";

2.遍历也学习两种:

第一种:用迭代器遍历map<int, string>::iterator iter;

for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++)
cout<<iter->first<<" " <<iter->second<<endl;

第二种:用数组遍历

for(int nIndex = 0; nIndex < nSize; nIndex++)
cout<<mapStudent[nIndex]<<endl;

3.用count函数来判定关键字是否出现,出现返回1,没出现返回0;

用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器,程序说明:

iter = mapStudent.find(1);

if(iter != mapStudent.end())
cout<<"Find, the value is "<<iter->second<<endl;
else
cout<<"Do not Find"<<endl;

source code:

//#pragma comment(linker, "/STACK:16777216") //for c++ Compiler
#include <stdio.h>
#include <iostream>
#include <cstring>
#include <cmath>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <algorithm>
#define ll long long
#define Max(a,b) (((a) > (b)) ? (a) : (b))
#define Min(a,b) (((a) < (b)) ? (a) : (b))
#define Abs(x) (((x) > 0) ? (x) : (-(x)))
using namespace std;

const int INF = 0x3f3f3f3f;

map <string, int> m;
string a, aa;

int main(){
    int i, j, t, n, numCase = 0;
    while(cin >> n){
        if(0 == n)  break;
        m.clear();
        for(i = 1; i <= n; ++i){
            cin >> a;
            ++m[a];
        }
        map <string, int> ::iterator it;
        int Max = 0;
        for(it = m.begin(); it != m.end(); ++it){
            if(it->second > Max){
                Max = it->second;
                aa = it->first;
            }
        }
        cout << aa << endl;
    }
    return 0;
}
时间: 2024-10-16 01:18:20

HDU 1004 MAP【STL__map_的应用】的相关文章

hdu 1004 map和非map写法

Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 116867 Accepted Submission(s): 45783 Problem Description Contest time again! How excited it is to see balloons floating around.

HDU 1004

第一次写map 纪念 1 #include <map> 2 #include <cstdio> 3 #include <iostream> 4 #include <string> 5 #include <cstring> 6 #include <string.h> 7 using namespace std; 8 map<string,int> a; 9 int main(){ 10 int t,max1; 11 stri

hdu 1247 map的使用

http://acm.hdu.edu.cn/showproblem.php?pid=1247 Hat’s Words Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7760    Accepted Submission(s): 2814 Problem Description A hat’s word is a word in the

hdu 4941 map的应用+离散

1 #include<iostream> 2 #include<cstdio> 3 #include<map> 4 #include<algorithm> 5 using namespace std; 6 7 int main() 8 { 9 int T,n,m,k,a,b,c,q,cas=1; 10 scanf("%d",&T); 11 while(T--) 12 { 13 map<int,map<int,int&g

HDU 4287 &lt;map&gt;的使用

对于这道题我主要要讲得是STL中map的简单使用. 先说说map的用处. map就是从键(key)到值(value)的映射.因为重载了[]运算符,map像数组的"高级版",例如可以用一个map<string,int>month_name来表示"月份名字到月份编号"的映射,然后用month_name["July"] = 7这样的方式来赋值. 它的意思就是map<string,int>month_name表示[ ] 里面代表的

HDU 4921 Map DFS+状态压缩+乘法计数

算最多十条链,能截取某前缀段,每种方案都可以算出一个权值,每种方案的概率都是总数分之一,问最后能构成的所有可能方案数. 对计数原理不太敏感,知道是DFS先把链求出来,但是想怎么统计方案的时候想了好久,其实因为只能取某个链的前缀,所以直接取链长加+1 然后相乘即可,当然因为会出现都是空的那种情况,要去掉,全部乘完之后,要-1 然后就是算权值了,权值等于当前加进来的点的总和 以及 等级相同的点的加成,并不是特别好算,这时候考虑每个状态下的点对全局的贡献,对,就是这个思想,用状态压缩来表示状态,然后这

HDU 1075 map or 字典树

What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others)Total Submission(s): 12773    Accepted Submission(s): 4069 Problem Description Ignatius is so lucky that he met a Martian yesterday. But

HDU 4921 Map

题意: 给n个节点  他们形成了最多10条链  每条最多1000的长度  每个节点有个val  你可以选择任意位置截断链  断点前的所有节点被你获得  通过题中计算公式得出你的val  问  通过随机截断  获得val的期望是多少 思路: 期望=所有方案val的和/方案数 这里明显有分层的现象  而且每层最多10个元素  因此想到状压  那么我们只要逐层统计  每层计算一下能对"所有方案val的和"产生多少贡献即可  方案数可以直接算出来  计算方法如下 对于方案数  它就等于 (am

HDU 1004 Let the Balloon Rise【STL&lt;map&gt;】

Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 123800    Accepted Submission(s): 48826 Problem Description Contest time again! How excited it is to see balloons floating ar