
数据结构
文章平均质量分 88
记录本
幸愉信奥
信息学奥赛教学|教研|日常
展开
-
字符串 KMP算法与AC自动机算法
文章目录KMP题目集亲和串PeriodNumber Sequence KMP 题目集 亲和串 亲和串 题目大意 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于助人的你来解决这个问题。 亲和串的定义是这样的:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。 Input原创 2020-07-20 01:32:13 · 441 阅读 · 0 评论 -
Disjoin-Set 并查集
并查集原创 2020-10-22 16:03:03 · 176 阅读 · 0 评论 -
表达式求值 中缀表达式转后缀表达式 板子
题目描述 给定一个表达式,其中运算符仅包含 +, -,*,/,^(加 减 乘 整除 幂次方),可能包含括号,请你求出表达式的最终值。 注意: 数据保证给定的表达式合法。 题目保证符号 −-− 只作为减号出现,不会作为负号出现,例如,−1-1−1+222,(2+2)∗(−(1+1)+2)(2+2)*(-(1+1)+2)(2+2)∗(−(1+1)+2) 之类表达式均不会出现。 题目保证表达式中所有数字均为正整数。 题目保证表达式在中间计算过程以及结果中,均不超过 231−12^{31}−1231−1。 题目中的原创 2021-05-14 23:44:06 · 101 阅读 · 0 评论 -
灾难预警题解报告
灾难预警题目链接 题目描述 众所周知,浙农林是一条河。 由于浙江农林大学的特殊地形,当你在下雨后漫步在农林大路上的时候 难免会出现一脚踩进一个水坑的情况的情况。而农农非常不喜欢踩到水坑的感觉,请你帮忙设计一个程序来帮助农农判断他能否在不踩入水坑的情况下回到寝室。 已知,浙江农林大学可以表示为一个 N∗NN * NN∗N 的矩阵。 对于每个位置有一个海拔数据 h[i][j]h[i][j]h[i][j],当水位高度大于 h[i][j]h[i][j]h[i][j] 的时候,这个位置就会形成一个水坑。 农农现在的坐原创 2020-12-17 21:39:56 · 160 阅读 · 0 评论 -
数据结构知识清单简要
文章目录概述数据结构的研究对象线性表栈与队列二叉树图最短路径 概述 数据结构:是计算机存储和组织数据的方式,是相互间存在着一种或多种关系的数据元素的集合和该集合中数据元素的关系。记作Data_Structure(D,R) D: 是数据元素的集合 R: 是该集合中所有元素之间的关系的有限集合。 数据结构的研究对象 (一) 数据的逻辑结构: 反应数据元素之间的前后件关系,与计算机的存储位置无关。 1)集合:数据结构中的元素之间除了"同属一个集合”的相互关系外,别无其余关系。 2)线性结构:数据结构中的元素存原创 2020-12-05 00:19:23 · 330 阅读 · 0 评论 -
HDU/4585/ Shaolin STL中map应用
文章目录 Shaolin 题目大意 和尚战斗,第一个老和尚编号为 1 战斗力为 1e9 ,后面的和尚与其战斗,战斗值要与新人的战斗值差不多,然后新人就成了老和尚,如果两个老和尚战斗值相同,就输出编号小的值,最后输出新人的编号和与其战斗的和尚的编号。 直接 mapmapmap 瞎几把搞。 直接把和尚的战斗力设成 keykeykey,ididid 是保存的 datadatadata,二分一下,mapmapmap 容器中存在多个元素时,取 keykeykey 小的 datadatadata。 #include原创 2020-08-15 10:10:52 · 166 阅读 · 0 评论 -
2020ICPC·小米 网络选拔赛第一场 Walking Machine 并查集
Walking Machine 题目大题 在一个 n∗mn*mn∗m 的矩阵中搜索,每个字符有不同的含义,比如: WWW 表示从(xxx,yyy)可以走到 (x−1x-1x−1,yyy) AAA 表示从(xxx,yyy)可以走到 (xxx,y−1y-1y−1) SSS 表示从(xxx,yyy)可以走到 (x+1x+1x+1,yyy) DDD 表示从(xxx,yyy)可以走到 (xxx,y+1y+1y+1) 请求出哪些点会越界,即点坐标(xxx,yyy) xxx < 1 或者 xxx > nnn,原创 2020-10-30 23:35:28 · 143 阅读 · 0 评论 -
A1638 合并数字
文章目录题目大意输入格式输出格式输入复制样例输出解题思路AC代码总结 合并数字 题目大意 蒜头君得到了 nn 个数,他想对这些数进行下面这样的操作,选出最左边的相邻的差的绝对值为 11 的两个数,只保留较小的数,删去较大的数,直到没有两个相邻的差的绝对值为 11 的数,问最多可以进行多少次这样的操作? 输入格式 输入第一行为一个整数 n(1 ≤\leq≤ n ≤\leq≤ 105^55) 表示数字的总数 第二行为 nn 个整数 x1_11,x2_22,…,xn_nn(0 ≤\leq≤ x_i ≤\le原创 2020-07-14 23:14:34 · 372 阅读 · 0 评论 -
线段树总结
文章目录杂谈代码建树pushup操作pushdown操作区间加法区间乘法查询区间和线段树模板 杂谈 假设有编号从 1 到 n 的 n 个点,每个点都存了一些信息,用 [L,R]表示下标从 L 到 R 的这些点。线段树的用处就是,对编号连续的一些点进行修改或者统计操作,修改和统计的复杂度都是 O(log2_22n) 线段树的原理就是将[1,n]分解成若干特定的子区间(数量不超过 4n ),然后,将每个区间[L,R]都分解为少量特定的子区间,通过对这些少量子区间的修改或者统计,来实现快速对[L,R]的修原创 2020-07-11 17:35:30 · 129 阅读 · 0 评论