
洛谷线性表
文章平均质量分 51
怀念无所不能的你
一只大二的算法蒟蒻
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
洛谷P2234 [HNOI2002] 营业额统计(c嘎嘎)
来做,set能有序地维护同一类型的元素,但相同的元素只能出现一次,用set记录下之前出现的所有营业额,每次输入一个新的营业额,就用lower_bound找到大于等于当前营业额的第一个数。如果是第一天的营业额直接插入容器,如果lower_bound找到的值和当前值一样,就不用插入当前营业额了()如果当前营业额数大于x,通过set的特性可以很轻松的找到这个数的前驱,也就是小于x的第一个数。set 的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就像一个集合一样。原创 2024-12-02 20:41:13 · 612 阅读 · 0 评论 -
洛谷P1241 括号序列(c嘎嘎)
我们可以开一个栈,然后从左到右遍历,每当遇到左括号就将左括号位置压入栈,遇到右括号就取出栈顶然后与当前遍历到的左括号进行匹配匹配成功,弹出栈并进行标记匹配成功的左右括号的位置,最后进行输出,标记过的直接输出未标记的输出匹配的两个括号。原创 2024-12-01 21:17:41 · 350 阅读 · 0 评论 -
洛谷P4387 【深基15.习9】验证栈序列(c嘎嘎)
的特点来模拟这道题,先读入入栈和出栈序列,然后将遍历入栈序列,边遍历边压入栈,然后与出栈序列比较,匹配成功出栈,直到遍历完入栈序列,最后如果栈不为空则为NO,反之。来解决的(题目都已经明示了),我们得利用好栈的。解题思路:首先这道题很明显是要用。原创 2024-12-01 21:59:22 · 650 阅读 · 0 评论 -
洛谷P4715 【深基16.例1】淘汰赛(c嘎嘎)
pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair, pair的实现是一个结构体,主要的两个成员变量是first和second 因为是使用struct不是class,所以可以直接使用pair的成员变量。解题思路:本题直接stl中的queue模拟这道题就好了,除此之外我用了c++中的pair来存两个数据一个是编号一个是能力值,下面先介绍下pair。原创 2024-11-30 00:39:56 · 691 阅读 · 0 评论 -
洛谷P2058 [NOIP2016 普及组] 海港(c嘎嘎)
用队列记录输入的时间和国家,然后与队头的时间进行比较大于等于86400,那么这次就不是同一天,这个人所在国家数减一,如果这个人走后这个国家的人减为0,那么之前记录的ans就要减1 ,并且与下一个人比较,直至差值<86400。原创 2024-11-29 16:23:32 · 411 阅读 · 0 评论 -
洛谷P1540 [NOIP2010 提高组] 机器翻译(c嘎嘎)
这道题很明显是要用队列,是道水题,我开了一个队列 q 模拟内存情况,数组 vis 来判断每个单词是否在内存中,每次需要去外存查找就ans++。原创 2024-11-28 16:49:11 · 362 阅读 · 0 评论 -
洛谷P1160 队列安排(c嘎嘎)
看到这道题首先看范围n最大可以达到1e5,如果直接用单链表模拟的话插入k号同学 的左边需要遍历链表肯定超时,因为单链表只有指向下一个节点的指针,于是我们用双链表双 链表有两侧指针。原创 2024-11-28 13:49:51 · 658 阅读 · 0 评论 -
P1996 约瑟夫问题
本题是经典的约瑟夫环问题,可以直接模拟也可以用数据结构中的队列来模拟结果。下面介绍下STL中的队列。下面先介绍直接模拟。原创 2024-11-27 14:09:39 · 385 阅读 · 0 评论 -
P1449 后缀表达式(c嘎嘎解题)
学过数据结构应该都听过后缀表达式是用栈来实现的,那么本题难道要手搓C语言链表吗,当然不用,首先new一个节点很慢,直接超时了,我们可以用数组模拟栈的方法来实现,也可以用。(4). empty() 可以检测stack内是否为空,返回true为空,返回false为非空。(5). size() 返回stack内元素的个数。(3). pop() 用以弹出栈顶元素。(1). push(x) 将x入栈。(2). top() 获得栈顶元素。原创 2024-11-26 20:09:56 · 608 阅读 · 0 评论 -
P3613 【深基15.例2】寄包柜(c嘎嘎)
将(a.begin(),a.begin()+3)之间的元素删除。(3)vector a(10)(1) 定义一个int类型的长度为十初值为一的vector一维数组。(10)a.insert(a.begin(),1000) 将1000插入到向量a的起始位置前。(6)a.end() 返回数组a的末尾元素的下一个元素的指针(迭代器)。原创 2024-11-26 17:19:00 · 1501 阅读 · 0 评论 -
洛谷P3156 【深基15.例1】询问学号(c嘎嘎)
本题是水题只要会单链表即可。原创 2024-11-22 17:25:38 · 225 阅读 · 0 评论