
灵活的数据结构
文章平均质量分 92
灵活的数据结构
省下洗发水钱买书
个人邮箱:chenyang1001@yeah.net
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2020 蓝桥杯大学模拟赛(三) - 程序设计:养猫题解
文章目录题目描述输入格式输出格式数据范围样例输入样例输出算法分析解题代码题目描述众所周知的,⼩明家⾥有好多猫,经过⼀次“猫⼝普查”,我们得到了以下信息:⼩明家⾥有 n 只猫,第 i 只猫的体重是 ai 。然⽽⼩明热爱虐猫(并不),他决定对这些猫做⼀些有 ♂趣的事情经过了两年半的练习之后,这些猫已经能完全听懂⼩明的指令了。⼩明的指令分成两个阶段,具体步骤如下:1.指定⼀种颜⾊,所有这种颜⾊的猫都会从猫窝⾥跑出来,此时⼩明需要付出总共为这些猫的体重的代价。例如,现在⼩明有三只红⾊的猫,体重分别原创 2020-12-20 17:28:13 · 416 阅读 · 0 评论 -
【模版】线段树详解
文章目录线段树详解建树区间查询单点修改区间修改Lazy标记模版线段树详解参考:https://blog.youkuaiyun.com/iwts_24/article/details/81484561线段树是一颗满二叉树,有n个元素时,对区间的操作在O(logn)的时间内完成,初始化的操作时间和总的空间复杂度都为O(n)常用于对区间的查询和修改操作 建树const int MAX = 100005;int n; //叶子结点的个数int dat[MAX << 2]; //一般为转载 2020-12-19 09:31:15 · 142 阅读 · 0 评论 -
【模版】Sparse-Table|ST表|基于ST表的RMQ
文章目录Sparse Table(ST表)详细介绍模版(最小值版本)Sparse Table(ST表)通过O(n*logn)的预处理,以及O(n*logn)的空间,达到O(1)时间复杂度的查询操作常用于对静态RMQ问题进行求解 d[i][j]代表着这样一个区间的最值:左端点为 i ,长度为 2j 的区间,即区间**[i, i + 2j - 1]**例如:d[5][3] = min(d[5][2], d[9][2]),即意味着min(5, 12) = min( min(5…8), min(原创 2020-12-19 09:30:10 · 119 阅读 · 0 评论 -
牛客练习赛1-C-圈圈题解
文章目录题目描述输入描述输出描述输入输出备注算法分析解题代码代码巧妙点一、预处理二、在加的过程中要多次寻找链接:https://ac.nowcoder.com/acm/contest/2/C来源:牛客网题目描述shy有一个队列a[1], a[2],…,a[n]。现在我们不停地把头上的元素放到尾巴上。在这过程中我们会得到n个不同的队列,每个队列都是a[k],a[k+1],…,a[n],a[1],…,a[k-1]的形式。在这些队列中,我们可以找到字典序最小的。shy无聊的时候会给队列的每个元素加一玩原创 2020-12-18 11:36:21 · 601 阅读 · 1 评论 -
一维、二维Hash算法(转载 && 代码加注释版)
文章目录一维字符串哈希二维矩阵哈希应用题目一维字符串哈希功能:在O(1)时间内查询某个区间的子串是什么(该串的哈希值)等等实现方法:类似于前缀合,对字符串从前到后进行哈希//初始化辅助数组pvoid init(){ p[0] = 1; for(int i = 1; i <= len; i ++) { p[i] = p[i-1]*base; }}//初始化辅助数组p//Hash变换void Hash(){ has[0] = 0;转载 2020-12-18 11:35:01 · 540 阅读 · 1 评论 -
小球下落(Dropping Balls,UVa 679)题解
文章目录题目描述输入输出原题(PDF)算法分析解题标程题目描述许多的小球一个一个的从一棵满二叉树上掉下来组成一个新满二叉树,每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。决定球运动方向的是每个节点的布尔值。最初,所有的节点都是 FALSE,当访问到一个节点时,如果这个节点是 FALSE,则这个球把它变成 TRUE,然后从左子树走,继续它的旅程。如果节点是TRUE,则球也会改变它为 FALSE,而接下来从右子树走。满二叉树的标记方原创 2020-12-16 12:05:14 · 329 阅读 · 0 评论 -
残损的键盘(又名:悲剧文本)(Broken Keyboard(a.k.a Beiju Text),UVa11988)题解
文章目录题目描述输入输出原题(PDF)算法分析解题标程( C )解题标程(CPP)错题总结题目描述你在输入文章的时候,键盘上的Home键和End键出了问题,会不定时的按下。你却不知道此问题,而是专心致志地打稿子,甚至显示器都没开。当你打开显示器之后,展现你面前的数一段悲剧文本。你的任务是在显示器打开前计算出这段悲剧的文本。 给你一段按键的文本,其中’[‘表示Home键,’]'表示End键,输入结束标志是文件结束符(EOF)。输出一行,即这段悲剧文本。输入包含多组数据,每组数据占一行,包含不超过10原创 2020-12-16 12:04:50 · 418 阅读 · 0 评论 -
并行程序模拟(Concurrency Simulator,ACM/ICPC World Finals 1991,UVa210)题解
文章目录题目描述输入输出原题(PDF)案例分析算法分析解题标程错题总结题目描述你的任务是模拟n个程序(按输入顺序编号为1~n)的并行执行。每个程序包含不超过25条语句,格式一共有5种:var=constant(赋值);print var(打印);lock;unlock;end。变量用单个小写字母表示,初始值为0,为所有程序公有(因此在一个程序里对某个变量赋值可能会影响到另一个程序)。常数是小于100的非负整数。每个时刻只能有一个程序处于运行态,其他程序均处于等待。上述五种语句分别需要t1、t2、原创 2020-12-16 12:05:06 · 617 阅读 · 0 评论