![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
哈希表&&映射
hash&&map
睡神...
一切伟大的思想,都有一个微不足道的开始。。。
展开
-
家谱问题:map解决!
P2814 家谱 传送门 分析: 这题用hash和并查集也可以解,但hash实在太麻烦,会把人写死,由于本人最近在连map,就不管并查集了。 fa[1]=2fa[1]=2fa[1]=2 意思是 111 的父亲是 222. fa[“Rodney”]=Georgefa[“Rodney ”]=Georgefa[“Rodney”]=George 同理 对于最后查询而言,假设查询SSS的祖先, stringstringstring ss=sss=sss=s,如果ss出现在father数组中,ss=fa[s]ss=fa原创 2021-03-22 19:42:57 · 148 阅读 · 0 评论 -
AK 的故事之英语学习篇:hash&map
解法一:map 程序一看就懂,前提你要会map 简单说一下map map<key,value> mp map<string,float> mp mp["apple"]=2.6; mp["pear"]=4.5; cout<<mp["apple"]; Code: #include <bits/stdc++.h> using namespace std; int main() { map<string,bool> mp;...原创 2021-03-20 08:10:50 · 305 阅读 · 1 评论 -
集合元素问题:初识hash
前置知识:何为哈希? 假设现在要存一个数组a[1,7,20000000,3289,10] 很简单,你可将他们存在a数组里。 但这样查找就会很不方便,尤其是当数很多的时候,你要开着循环一遍遍找(当然也可以采用二分) 或者你又说为了能O(1)找到这个数是否存在,你可用打勾数组。即读进来5,在a[5]=1; 但如果读进来一个很大的数,假设是1000000,你就要开一个很大的数组在a[1000000]=1;但其实最后只有三个数,你却开了这么大一个数组,岂不是浪费? 这就要用到hash了 hash[mo原创 2021-03-20 07:52:16 · 154 阅读 · 0 评论