
数据结构map
Forward in time
永不停止前进
展开
-
C. MP3(有难度的思维题+map使用)
这道题,我是醉了,开头我用的结构体排序,输出错在案例11;但是这道题我对map的用法有了更新的认识;题意:给你n个数的数组,然后里面不同的数字为k个,然后我需要在I(B)范围内存下这些数字;问最小需要改变个数字多少才能存下来(区间是任意取得);读完之后就知道这个和区间没啥关系,因为你可以任意改,只要到最后成立就行;根据题意可以列出最大的k值:但是注意这里的指数可能非常大,所以可能溢...原创 2019-08-09 14:46:12 · 129 阅读 · 0 评论 -
D1. Equalizing by Division (easy version)(有难度的思维题+逆向映射思维(2对1))
题意,给你n个数字,然后你可以对其中的任意数字进行任意多次/2操作(向下取整);使得相同个数为k个的最小总的操作次数输多少?看了大佬的代码;这个思维有点厉害哦;思路:把每个数/2直到为0;把结果给Ve[下标]中的下标;然后放入这个数变成下标值的次数;这个我感觉很巧妙;因为感觉有点像映射;这样一个Ve[index].size就表示原数组中有多少个数经过/2能变成index;然后每次这个向量...原创 2019-09-02 22:37:39 · 339 阅读 · 1 评论 -
so easy(思维枚举+unordered_map)
说实话这道题真的坑;我开始用set+二分,t了,然后又用并查集+map又t了我就心态爆炸了;map怎么都会t呢?之后百度了一下还有unordered_map这个东东,这个的查找效率是相当高的;而且count函数是统计的map的key值的个数,所以只可能为0或者为1,因为map<key,value>;想到了这个东东,那么怎么枚举呢?如果brisk一点的人应该会发现q的取值才...原创 2019-09-07 18:16:43 · 301 阅读 · 0 评论 -
B - Missing Gnomes(普通队列+map)
题意:给你m个数字,求由[1,n]的数排列成的所有全排列中有m个数字的顺序的位置的字典序最小的全排列是那个,然后输出;其实不要被带进next_permutation咯;其实仔细想一下;他给我m个有序的数,然后剩下的不就是出去m个数以外了的吗?所以我只要保证m个数的顺序是按照输入顺序去模拟我就能找到最小的排列了;意思就是(比如第一个案例):首先比较1和3然后1小输出1,红色指针往后移...原创 2019-09-09 18:24:02 · 166 阅读 · 0 评论 -
F. Honk's pool(map+思维)
这道题题意很简单:就是一次操作:把最大的-1,最小的+1,问经过k次操作之后最大-最小值是多少,就OK了;但是怎么写呢?我刚开始想用set来写,不断模拟这个方法,但是一看k是1e9,所以这个想法取消了;之后我队友写出来了;他说可以根据k值整体+,-;然后我想了一下这个东东:用一个map记录每个 数字出现的次数;如果脑袋灵活的,应该可以知道这个:如果我k=2;那么对应的map[5]是...原创 2019-09-14 17:22:49 · 245 阅读 · 0 评论