
STL
csu_xiji
这个作者很懒,什么都没留下…
展开
-
力扣 面试题 10.02. 变位词组 hash stl
https://leetcode-cn.com/problems/group-anagrams-lcci/思路:统计每个字符串每个字符出现的次数,可以得到一个长度为26的整型数组,只要这个数组相等,两个字符串就是变为词组。为了加快效率,可以自定义一种对数组的hash方法。class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) {原创 2021-07-18 13:23:30 · 130 阅读 · 0 评论 -
力扣 1818. 绝对差值和 数学 二分
https://leetcode-cn.com/problems/minimum-absolute-sum-difference/思路:首先计算sum=∑i=0n∣ai−bi∣sum=\sum_{i=0}^{n}|a_i-b_i|sum=∑i=0n∣ai−bi∣,考虑我们最终把aia_iai替换为了aja_jaj,那么实际答案应为:sum+∣aj−bi∣+∣ai−bi∣sum+|a_j-b_i|+|a_i-b_i|sum+∣aj−bi∣+∣ai−bi∣。我们的目的就是最小化这个式子的值原创 2021-07-17 14:47:45 · 529 阅读 · 0 评论 -
力扣 981. 基于时间的键值存储 哈希+map
https://leetcode-cn.com/problems/time-based-key-value-store/思路:模拟题……class TimeMap {public: /** Initialize your data structure here. */ TimeMap() { } void set(string key, string value, int timestamp) { mp[key][timestamp]=va原创 2021-07-10 12:20:14 · 135 阅读 · 0 评论 -
力扣 1418. 点菜展示表 map 模拟
https://leetcode-cn.com/problems/display-table-of-food-orders-in-a-restaurant/思路:模拟就完事了。class Solution {public: vector<vector<string>> displayTable(vector<vector<string>>& orders) { // 桌号->(菜品名称->数量)原创 2021-07-06 01:27:26 · 116 阅读 · 0 评论 -
力扣 726. 原子的数量 栈+map
https://leetcode-cn.com/problems/number-of-atoms/思路:对于括号序列问题,一般都可以用递归或者栈来求解。两种解法本质上都是对给定序列进行分层,即遇到左括号进入更深的一层,遇到右括号退出当前层。考虑到每一层中要统计每一个原子出现的次数,我们可以用哈希表来计数,但是结果要求按照字典序排序,因此可以使用mapmapmap计数,这样可以省去最后的排序步骤。那么如何在给定序列中解析出原子对应的字符串呢?以大写字母开头,后面跟一串小写字母。解析数字比较简单,直接看代码原创 2021-07-06 00:42:05 · 158 阅读 · 0 评论 -
力扣 363. 矩形区域不超过 K 的最大数值和 思维 set
https://leetcode-cn.com/problems/max-sum-of-rectangle-no-larger-than-k/思路:暴力枚举的话是O(n2m2)O(n^2m^2)O(n2m2)的,肯定过不了。考虑枚举左右边界l、rl、rl、r,然后计算a[i]=∑j=lrmatrix[i][j]a[i]=\sum_{j=l}^{r}matrix[i][j]a[i]=∑j=lrmatrix[i][j],那么问题就转换为:在长度为nnn的数组aaa中,找到一个区间s、ts、ts、t,使得a原创 2021-04-22 20:12:53 · 133 阅读 · 0 评论 -
力扣 220. 存在重复元素 III 思维 set
https://leetcode-cn.com/problems/contains-duplicate-iii/思路一:abs(i−j)<=kabs(i-j)<=kabs(i−j)<=k很容易做到,只要我们按照区间处理元素即可。现在考虑第一个条件,如果我们保证元素有序(从小到大),那么只要任意两个相邻元素之差<=t<=t<=t即可。不难想到用setsetset维护。class Solution {private: set<int> s;原创 2021-04-17 02:18:24 · 243 阅读 · 0 评论 -
PIPIOJ 1466: PIPI捡垃圾Ⅱ 堆 思维
http://pipioj.online/problem.php?id=1466思路:利用堆可快速求出中位数(当然诸如TreapTreapTreap之类的数据结构也是可以的),思路就是用大根堆维护最小的(n+1)/2(n+1)/2(n+1)/2个元素,用小根堆维护最大的n/2n/2n/2个元素,那么中位数要么等于大根堆堆顶要么等于两个堆顶之和再除222。#include<bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;原创 2021-03-04 01:00:43 · 194 阅读 · 2 评论 -
PIPIOJ 1463: PIPI的字符串问题IX set
http://www.pipioj.online/problem.php?id=1463思路:把字符串丢到setsetset里面即可,但是直接丢太暴力了。空间复杂度和时间复杂度都很高,我们可以把长度为nnn的仅包含ccc的字符串抽象为一对数据:(c,n)(c,n)(c,n),把这一对数据插入到setsetset中维护即可。#include<bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;const int maxn=1原创 2021-03-03 23:01:47 · 164 阅读 · 1 评论 -
团体程序设计天梯赛 L2-005 集合相似度 STL
https://pintia.cn/problem-sets/994805046380707840/problems/994805070149828608思路:利用setsetset去重,计算的时候暴力即可,当然也可以利用mapmapmap。set+map:set+map:set+map:#include<bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;using ll=long long;set<int&g原创 2020-11-02 00:17:22 · 165 阅读 · 0 评论 -
力扣 面试题 17.09. 第 k 个数 队列/set
https://leetcode-cn.com/problems/get-kth-magic-number-lcci/思路一:为了满足题意,对于valvalval,我们有三种扩展方式:3∗val、5∗val、7∗val3*val、5*val、7*val3∗val、5∗val、7∗val。那么自然想到用优先队列存储数据,每次取出最小的进行扩展,那么第kkk次出队的数就是答案。为了去重,我们还需要一个mapmapmap,为了防止计算过程溢出intintint,我们需要用longlonglong longlo原创 2020-08-10 20:17:20 · 434 阅读 · 0 评论 -
力扣 面试题59 - II. 队列的最大值 思维+deque
https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/思路:普通功能用queuequeuequeue就可以实现,怎么做到均摊O(1)O(1)O(1)求最大值呢?我们考虑用dequedequedeque维护一个单调非升的双端队列,为什么要用dequedequedeque?因为当我们向队尾插入一个新的元素时,为了维护dequedeq...原创 2020-04-22 23:12:31 · 154 阅读 · 0 评论 -
力扣 面试题41. 数据流中的中位数 优先队列+思维
https://leetcode-cn.com/problems/shu-ju-liu-zhong-de-zhong-wei-shu-lcof/思路:搞两个堆,假设当前一共有nnn个元素,大根堆存储最小的(n+1)/2(n+1)/2(n+1)/2个元素,小根堆存储最大的n/2n/2n/2个元素,每次插入元素的时候维护这两个堆就行了,可以证明插入后修改的复杂度为O(lgn)O(lgn)O(lgn)...原创 2020-04-22 17:31:20 · 243 阅读 · 0 评论 -
codeforces gym101482 J Judging Troubles 暴力+map
https://vjudge.net/problem/Gym-101482J题目大意:给出两个判题系统的判题结果,问最多能还原多少情况。思路:搞两个mapmapmap分别存一下,然后遍历第一个mapmapmap暴力统计就完事了。#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define eps 1e-10#define pr ...原创 2020-04-18 19:49:48 · 235 阅读 · 0 评论 -
HDU 4391 Paint The Wall 分块+哈希
https://vjudge.net/problem/HDU-4391题目大意:给出nnn面墙的初始颜色,mmm个询问(a,l,r,z)(a,l,r,z)(a,l,r,z),如果a=1a=1a=1,表示把[l,r][l,r][l,r]的所有墙染成zzz,如果a=1a=1a=1,表示查询[l,r][l,r][l,r]的颜色为zzz的墙的数量。思路:分块+++哈希,没敢用mapmapmap,感觉可...原创 2020-04-07 01:38:18 · 212 阅读 · 0 评论 -
codeforces gym101572G Galactic Collegiate Programming Contest set
https://vjudge.net/problem/Gym-101572G题目大意:nnn支队伍,mmm个事件,每个事件(t,p)(t,p)(t,p)表示第ttt支队伍完成了一道题目,罚时为ppp,题数越多,排名越靠前,若题数相等,罚时越小,排名越靠前。每次事件发生之后,你都要输出111个数字,表示队伍111的排名。思路:离散化+树状数组可做。不过这里采用更简单的一种方法setsetset,...原创 2020-03-29 16:25:38 · 170 阅读 · 0 评论 -
LibreOJ #6282. 数列分块入门 6 stl+分块
https://loj.ac/problem/6282思路:插入操作利用vectorvectorvector可以很方便的完成,那么把序列分块,每一块都用vectorvectorvector维护,插入的过程中判断一下vectorvectorvector的元素个数,如果大于某个值,比如2∗n2*\sqrt n2∗n时,就重新分块,这样复杂度就有了保障。#include<bits/stdc...原创 2020-03-25 19:30:33 · 229 阅读 · 0 评论 -
codeforces 1296C Yet Another Walking Robot 思维+map
https://vjudge.net/problem/CodeForces-1296C题目大意:你有一个机器人,现在给出一个字母序列,L、R、U、DL、R、U、DL、R、U、D分别代表向左、右、上、下移动111步,问能否从这个字符序列中移除长度最小的一个子串,使得机器人按照这个字符序列移动后的最终位置没有变化。如果可以的话,输出这个字串所在的区间。思路:不难想到当机器人走到某个位置两次或以上时...原创 2020-02-06 16:03:51 · 602 阅读 · 0 评论 -
HDU 6109 数据分割 set、并查集+启发式合并
http://acm.hdu.edu.cn/showproblem.php?pid=6109Problem Description小w来到百度之星的赛场上,准备开始实现一个程序自动分析系统。这个程序接受一些形如xi=xj 或 xi≠xj 的相等/不等约束条件作为输入,判定是否可以通过给每个 w 赋适当的值,来满足这些条件。输入包含多组数据。然而粗心的小w不幸地把每组数据之间的分隔符删掉了...原创 2020-01-10 17:59:31 · 275 阅读 · 0 评论 -
洛谷 P2161 [SHOI2009]会场预约 树状数组+二分
https://www.luogu.org/problem/P2161题目描述PP大厦有一间空的礼堂,可以为企业或者单位提供会议场地。这些会议中的大多数都需要连续几天的时间(个别的可能只需要一天),不过场地只有一个,所以不同的会议的时间申请不能够冲突。也就是说,前一个会议的结束日期必须在后一个会议的开始日期之前。所以,如果要接受一个新的场地预约申请,就必须拒绝掉与这个申请相冲突的预约。 一般来...原创 2019-10-26 13:45:21 · 232 阅读 · 0 评论 -
codeforces gym101630 Archery Tournament 线段树+set
http://codeforces.com/gym/101630题目大意:有nnn个事件依次发生,每个事件以(op,x,y)(op,x,y)(op,x,y)的形式给出,若op=1op=1op=1,代表以(x,y)(x,y)(x,y)为圆心建立一个半径为yyy的圆形靶子,数据保证所有的靶子都不相交,但是可能会相切;若op=2op=2op=2,代表此时在(x,y)(x,y)(x,y)处进行一次射击,...原创 2019-10-23 15:49:02 · 343 阅读 · 0 评论 -
洛谷 P1484 种树 可反悔贪心+优先队列
https://www.luogu.org/problem/P1484题目描述cyrcyr今天在种树,他在一条直线上挖了n个坑。这n个坑都可以种树,但为了保证每一棵树都有充足的养料,cyrcyr不会在相邻的两个坑中种树。而且由于cyrcyr的树种不够,他至多会种k棵树。假设cyrcyr有某种神能力,能预知自己在某个坑种树的获利会是多少(可能为负),请你帮助他计算出他的最大获利。输入格式第一...原创 2019-10-21 15:10:03 · 352 阅读 · 0 评论 -
洛谷 P1801 黑匣子_NOI导刊2010提高(06)优先队列+思维
https://www.luogu.org/problem/P1801题目描述Black Box是一种原始的数据库。它可以储存一个整数数组,还有一个特别的变量i。最开始的时候Black Box是空的.而i等于0。这个Black Box要处理一串命令。命令只有两种:ADD(x):把x元素放进BlackBox;GET:i加1,然后输出Blackhox中第i小的数。记住:第i小的数,就是Bl...原创 2019-10-21 00:47:27 · 214 阅读 · 0 评论 -
洛谷 P2278 操作系统 优先队列+模拟
https://www.luogu.org/problem/P2278题目描述写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。除非在这个过程中,有一个比它优先级高的进程要运行。在这种情况下,这个新的(...原创 2019-10-20 02:13:12 · 450 阅读 · 0 评论 -
洛谷 P2085 最小函数值 优先队列
https://www.luogu.org/problem/P2085题目描述有n个函数,分别为F1,F2,…,Fn。定义Fi(x)=Aix^2+Bix+Ci (x∈N*)。给定这些Ai、Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个)。输入格式输入数据:第一行输入两个正整数n和m。以下n行每行三个正整数,其中第i行的三个数分别位Ai、Bi和Ci。Ai<=1...原创 2019-10-19 23:52:47 · 263 阅读 · 0 评论 -
洛谷 P1631 序列合并 优先队列
https://www.luogu.org/problem/P1631题目描述有两个长度都是NNN的序列AAA和BBB,在AAA和BBB中各取一个数相加可以得到N2N^2N2个和,求这N2N^2N2个和中最小的NNN个。输入格式第一行一个正整数NNN;第二行NNN个整数AiA_iAi, 满足Ai≤Ai+1A_i≤A_{i+1}Ai≤Ai+1且Ai≤109A_i≤10^9Ai≤10...原创 2019-10-19 23:34:27 · 166 阅读 · 0 评论 -
2019亚洲区域赛徐州网络赛 K Center map+贪心
https://nanti.jisuanke.com/t/41393You are given a point set with nn points on the 2D-plane, your task is to find the smallest number of points you need to add to the point set, so that all the points...原创 2019-09-07 19:12:12 · 261 阅读 · 0 评论 -
POJ 1281 stl+模拟
http://poj.org/problem?id=1281One of the programming paradigm in parallel processing is the producer/consumer paradigm that can be implemented using a system with a "manager" process and several "cl...原创 2019-02-14 18:20:39 · 267 阅读 · 0 评论 -
洛谷 P1441 砝码称重 子集枚举+bitset
https://www.luogu.org/problem/P1441题目描述现有n个砝码,重量分别为a1,a2,a3,……,an,在去掉m个砝码后,问最多能称量出多少不同的重量(不包括0)。请注意,砝码只能放在其中一边。输入格式输入文件weight.in的第1行为有两个整数n和m,用空格分隔第2行有n个正整数a1,a2,a3,……,an,表示每个砝码的重量。输出格式输出文件wei...原创 2019-10-05 16:00:38 · 728 阅读 · 0 评论 -
POJ 2431 贪心+优先队列
http://poj.org/problem?id=2431A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poor drivers, the cows unfortunately managed to run over a rock and pun...原创 2019-02-13 17:46:34 · 175 阅读 · 0 评论 -
HDU 1387 Team Queue
http://acm.hdu.edu.cn/showproblem.php?pid=1387Queues and Priority Queues are data structures which are known to most computer scientists. The Team Queue, however, is not so well known, though it occ...原创 2019-02-13 17:05:43 · 165 阅读 · 0 评论 -
lower_bound和upper_bound的一些总结
头文件:<algorithm>lower_bound和upper_bound都是用在有序的数组或者容器中的!(以下函数并非是函数原型 只是为了便于说明 可能并不严谨 想看函数原型的请戳这个网址:https://baike.baidu.com/item/lower_bound/8620039?fr=aladdin)lower_bound(begin,end,value) 可以在...原创 2019-02-18 16:57:11 · 1853 阅读 · 0 评论 -
洛谷 P1088 全排列
https://www.luogu.org/problemnew/show/P1088人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。火星人用一种非...原创 2019-02-15 17:36:27 · 320 阅读 · 0 评论 -
POJ 1208 STL+模拟
http://poj.org/problem?id=1208Many areas of Computer Science use simple, abstract domains for both analytical and empirical studies. For example, an early AI study of planning and robotics (STRIPS) ...原创 2019-01-19 20:47:12 · 314 阅读 · 0 评论 -
CSU 1726 优先队列+bfs
http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=17264月16日,日本熊本地区强震后,受灾严重的阿苏市一养猪场倒塌,幸运的是,猪圈里很多头猪依然坚强存活。当地15名消防员耗时一天解救围困的“猪坚强”。不过与在废墟中靠吃木炭饮雨水存活36天的中国汶川“猪坚强”相比,熊本的猪可没那么幸运,因为它们最终还是没能逃过被送往屠宰场的命运...原创 2019-01-23 17:44:31 · 159 阅读 · 0 评论 -
HDU 2094 产生冠军 map
http://acm.hdu.edu.cn/showproblem.php?pid=2094有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。根据这个规则,无需循环较量,或许就能确定冠...原创 2019-01-28 00:22:42 · 134 阅读 · 0 评论 -
POJ 2833 优先队列+思维
http://poj.org/problem?id=2833In a speech contest, when a contestant finishes his speech, the judges will then grade his performance. The staff remove the highest grade and the lowest grade and comp...原创 2019-01-26 20:56:45 · 327 阅读 · 0 评论 -
HDU 4857 反向拓扑+优先队列
http://acm.hdu.edu.cn/showproblem.php?pid=4857糟糕的事情发生啦,现在大家都忙着逃命。但是逃命的通道很窄,大家只能排成一行。现在有n个人,从1标号到n。同时有一些奇怪的约束条件,每个都形如:a必须在b之前。同时,社会是不平等的,这些人有的穷有的富。1号最富,2号第二富,以此类推。有钱人就贿赂负责人,所以他们有一些好处。负责人现在可以安排大家排队...原创 2019-01-26 17:08:07 · 205 阅读 · 0 评论 -
HDU 1263 map 三
acm.hdu.edu.cn/showproblem.php?pid=1263夏天来了~~好开心啊,呵呵,好多好多水果~~Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了.Input第一行正整数N(0<N<=10)表示有N组测试数据.每组测试数据的第一行是一个整数M...原创 2019-01-24 17:26:57 · 144 阅读 · 0 评论 -
HDU 1075 map 二
http://acm.hdu.edu.cn/showproblem.php?pid=1075伊格那丢很幸运,昨天他遇到了一个火星人。但他不知道火星人使用的语言。火星人给了他一本火星历史书和一本辞典。现在伊格那丢想把历史书译成英语。你能帮他吗?Input输入 这个问题只有一个测试用例,测试用例由两部分组成,字典部分和书本部分。字典部分以一行开头,包含一个字符串“start”,这个字符串应...原创 2019-01-24 16:48:48 · 175 阅读 · 0 评论