![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
qq_38232157
这个作者很懒,什么都没留下…
展开
-
CH_0802 占卜DIY(算法竞赛进阶指南,stl,模拟)
算法竞赛进阶指南48页,stl,模拟本题要点:1、用 deque 来存放每一对扑克, 因为 deque 可以两头放数据。 用数字,表示扑克的大小,deque2、4 条命,剩下的就是模拟运行过程。3、题目要求的是,每堆牌, 4张都要正面朝上,因此,用数组 turn[i] 来存放 第 i 堆正面朝上的次数。#include <cstdio>#include <cstring>#include <iostream>#include <vector>原创 2020-09-12 14:48:58 · 148 阅读 · 0 评论 -
CodeForces-1141D Colored Boots(stl, 水题)
stl, 水题题目意思:两条字符串,长度都是n。 现在把两个相同的字符配对在一起,其中 ‘?’ 可以配对任意字符。问最多可以配对多少对字符对,要求写出任意 一组配对方式。本题要点:1、用 vector 来存每一个字符在 字符串出现的下标。2、用 vector<pair<int, int> > ans; 来存每一组配对。3、配对策略:先把完全配对的处理了;再处理第1 条字符串的 ‘?’ 和第 2 条字符串剩下的非 ‘?’ 字符, 同理处理第 1条字符串的 ‘?‘和原创 2020-09-11 20:22:17 · 72 阅读 · 0 评论 -
洛谷 P1003 铺地毯(模拟,stl,水题)
模拟,stl,水题本题要点:1、定义长方形ret, 左下角(x1, y1), 右上角(x2, y2); 对于要查找的坐标 (x, y)暴力判断某个长方形是否与之有交集。2、定义集合 set s1, s2, 分别存放 某个长方形 的横坐标范围(x1, x2) 与 x 有交集,纵坐标 (y1, y2) 与 y 是否有交集。 注意,集合 s1 和 s2 存的是 长方形的下标。3、判断连个集合交集中,下标最大的(也就是放在最上面的长方形)#include <cstdio>#includ原创 2020-09-11 17:59:32 · 111 阅读 · 0 评论 -
Codeforces 622C Not Equal on a Segment (stl, 二分查找)
stl, 二分查找题目意思:有一个整数数组 a(元素最多 n <= 2e5), 有 m 次查询 ,每次给出三个数 L, R, p;要求在 坐标[L, R] 范围内,找到一个下标 k ,使得 a[k] != p 。每次输出k, 如果找不到,就输出 -1;本题要点:1、 vector v[MaxN];用 vector 数组a的每一个数 a[i] 在数组a中的下标。 v[a[i]].push_back(i);然后 在 v[a[i]] 里面,存的所有下标是从小到大排序的。 有序后就可以二分了。原创 2020-09-07 17:00:30 · 81 阅读 · 0 评论 -
CodeForces-1287B Hyperset(stl)
stl题目意思:有 n个字符串,每个字符串长度 为k。 每个字符 只有三种形式 ‘E’, ‘T’, ‘S’。现在问, 从 n 个字符串,选出三个, 使得这三个字符串满足以下条件:相同位置的字符,要么相等,要么互补相等。比如这三个字符串,“SETT”, “TEST”, “EEET”, 每个字符串都有4位。第 0 位, 互补相等第 1 位, 相等, 都是 ‘E’第 2 位, 互补相等第 3 位, 相等, 都是 ‘T’本题要点:1、首先,从 n个字符串选出两个 字符串,第三个字符串是唯一确定原创 2020-09-07 15:03:09 · 120 阅读 · 0 评论 -
HOJ 1276 士兵队列训练问题(stl, 水题)
stl, 水题本题要点:1、用 list 模拟即可。2、题目可能的歧义的地方:有两种选法,选法1:每2个出列一个,选法2:每3个出列一个。结束条件,每完成一种选法后,如果剩下的数 <= 3, 则结束。可能歧义的理解: 执行某种选法,执行过程中(还没结束), 当前的数的数量 <= 3, 此时就结束了。#include <cstdio>#include <cstring>#include <iostream>#include <lis原创 2020-09-02 19:33:17 · 108 阅读 · 0 评论 -
UVA 246 10-20-30(算法竞赛入门经典,模拟,stl)
算法竞赛入门经典179页,模拟,stl题目意思:给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,如果有牌堆形成了以下3种情况(按顺序判断):1、头两张+尾一张和为10或20或302、头一张+尾两张和为10或20或303、尾三张和为10或20或30就把这三张牌拿走,放到总牌堆底(这步要不断执行直到不再满足条件或牌堆没了)如果有一个牌堆因为这个操作被取完了,那么以后将不在这个位置发牌。如果最后7个牌堆都可以消掉,那么赢,总牌堆用完,那么输,否则平(即不断循环)问最后的输赢平原创 2020-09-02 10:40:08 · 125 阅读 · 0 评论 -
UVA 12504 Updating a Dictionary(算法竞赛入门经典,stl)
算法竞赛入门经典,stl本题要点:1、处理每一条字符串的时候,使用 字符串流stringstream 来处理,先把原来的字符串中的字符 ‘{’, ‘}’, ‘,’ 替换为 空格 ’ ', 然后就好处理了。2、使用 map<string, string> 来记录每一条字符串中对应 的 key 和 value3、寻找第二天字符串新 增加的, 删除的, 修改的字符串,各自用一个 set 来存,寻找一个 map 中,是否存在字符串 str , 用find函数。#include<bi原创 2020-08-30 22:56:40 · 97 阅读 · 0 评论 -
UVA 12100 Printer Queue(算法竞赛入门经典,stl, 优先级队列)
算法竞赛入门经典,stl, 优先级队列题目意思:一台打印机,有一个打印序列,表示各个打印任务的优先级。然后,每次要打印当前任务时候,看看队列中后面是否有任务的优先级更紧急,如有,就把当前的任务加入到队列的末尾。否则,打印当前的队列。本题要点:1、使用 队列 queue ,和 priority_queue 来模拟。用数组 prio_num[i] 表示优先级为i的有多少个队列 queue 存放的是各个打印任务,priority_queue 存放的是所有的优先级,然后堆顶 top 存放的都是最大的优原创 2020-08-30 18:41:19 · 171 阅读 · 0 评论 -
HOJ 1873 看病要排队(优先级队列 priority_queue, 巨水)
优先级队列 priority_queue, 巨水本题要点:1、定义一个结构体 person 来描述病人的信息,int enter_id; //进场顺序int priority; //优先级重写运算符< , 注意,先按 优先级从小到大,在按进场顺序从大到小。2、3个医生,每个医生前面都有一条队列。 模拟医生看病顺序。#include <cstdio>#include <cstring>#include <iostream>#include <原创 2020-08-30 18:37:31 · 113 阅读 · 0 评论 -
HOJ 1702 ACboy needs your help again!(stack 和 queue,巨水)
stack 和 queue,巨水本题要点:1、直接用stl的 stack 和 queue来模拟即可#include <cstdio>#include <cstring>#include <iostream>#include <queue>#include <stack>using namespace std;int T, n, flag;char cmd[10];void solve(bool flag){ queue&原创 2020-08-30 18:35:47 · 88 阅读 · 0 评论 -
HOJ 4841 圆桌问题(stl, 巨水)
stl, 巨水本题要点:1、用 vector 来模拟约瑟夫问题2、注意输出格式,每50个字母就换行。每两个例子之间,有空行。#include <cstdio>#include <vector>#include <cstring>using namespace std;const int MaxN = 33000;bool vis[MaxN];int n, m;void solve(){ vector<int> v; memset(原创 2020-08-30 18:34:14 · 77 阅读 · 0 评论 -
HOJ 4585 Shaolin(map, 迭代器)
map 的使用题目意思:少林的和尚有两个属性,一个是id号,一个是战斗力。一开始少林只有方丈,方丈 id = 1, 战斗力 = 10^9.后来又很多和尚加入了少林,每个和尚都有一个唯一的id号,和一定的战斗力(战斗力可以相等)。和尚是一个一个地加入少林的。加入的时候,必须已经加入少林的和尚中挑选一名和尚进行比武。被挑选的和尚,条件是其 战斗力 和 新加入少林的和尚 的战斗力差值最小。题目给出一个和尚的加入序列(id号,战斗力), 要求输出每次比武的老和尚 的 战斗力。本题要点:1、map 存原创 2020-08-19 23:33:50 · 95 阅读 · 0 评论 -
POJ 2028 Web Navigation (STL 水题)
题目意思:模拟浏览器, 前进 ,后退,访问新的网页等功能。每一个命令,都要显示当前的网址。注意:1、 STL 水题, 用两个 vector 或者 stack 模拟即可2、 vector v1, v2;v1 存放的是当前以及之前的 web(每次当前的网页 web 都要放在 v1 的最后一个位置)v2 存放的是 当前页面之后的 web#include <cstdio>#in...原创 2020-02-04 23:04:30 · 90 阅读 · 0 评论 -
POJ 3297 Open Source STL
题目意思:有很多个项目(大写字母表示), 每个项目有很多学生报名,但是有效的报名是有规矩的。如果有在多个项目下留名的,则此人无效;若一人在一项目下重复留名,只记一次。题目最后要求输出,每个项目的项目名,以及有效的学生报名的人数。本题要点:1、这里,就是用map 暴力计算筛除 在多个项目报名的学生2、最后输出结果,先按项目报名的学生人数从高到低,(如果相同)则按项目的字典序输出#inc...原创 2020-02-03 16:11:30 · 165 阅读 · 0 评论