07 2020 档案
摘要:区间反转问题 本篇随笔浅谈一下算法竞赛中的区间反转问题。 例题 洛谷 P3391 【模板】文艺平衡树 题目传送门 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列。 其中需要提供以下操作:翻转一个区间,例如原有序序列是 5\ 4\ 3\ 2\ 15 4 3 2 1,翻转区间是 [
阅读全文
摘要:Splay算法旋转操作的模拟 本篇随笔简单讲解一下Splay算法维护平衡树时的旋转操作。重点集中在如何模拟旋转。 对Splay没有概念的同学请移步: Splay详解 先上图再讲: 这是右旋。 针对一个节点,我们需要维护它的父亲、两个儿子、值和子树大小这些信息。在本文中用以下符号表示: ch[x][0
阅读全文
摘要:Splay算法详解 本篇随笔浅谈一下算法竞赛中的算法。 Splay的概念 Splay在我看来应该算作一种算法而非数据结构。无论是Treap,AVL,SBT,替罪羊树还是Splay其实都应该算作算法,因为它们都在解决一种数据结构存在的问题:二叉搜索树。 对于二叉搜索树和Trea
阅读全文
摘要:洛谷 P3369 【模板】普通平衡树 洛谷传送门 题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入 xx 数 删除 xx 数(若有多个相同的数,因只删除一个) 查询 xx 数的排名(排名定义为比当前数小的数的个数 +1+1 ) 查询排名为 xx 的数 求
阅读全文
摘要:浅谈对引用变量的理解 本篇随笔简单记录一下本蒟蒻对C++程序语言中引用变量的理解。 引用的概念 int a; int b=a; 在上面的代码块里,与的值相等。(额 但是指向的并不是同一块内存空间,也就是,虽然的值是相等的,但是其实他俩并不是同一个变量,因为他们的内存空
阅读全文
摘要:洛谷 P2015 二叉苹果树 题目传送门 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树 2 5 \
阅读全文
摘要:CF1381B Unmerge 洛谷传送门 题目翻译 对于一个长度为的排列(排列是指一个没有重复元素,有顺序的正整数集合)(保证为正整数),问: 是否可以把这个排列分解成两个长度为的队列,使得每次取出两个队列的较小队首后,恰好能还原成原来的排列。如果可以,输出,否则输出
阅读全文
摘要:浅谈树形DP 本篇随笔简单讲解一下DP中的树形DP问题。 树形DP的概念 树形DP在本蒟蒻心目中的印象就是转移过程中,某个节点维护的信息是由其子节点给出的。换句话说,树形DP就是在树上跑DP,将需要维护的答案信息一层一层地传递到根节点,然后得出整个问题的答案。 实际上,我更喜欢把图理解为一些元素加一
阅读全文
摘要:洛谷 P1352 没有上司的舞会 题目传送门 题目描述 某大学有 nn 个职员,编号为 1\ldots n1…n。 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 r_ir**i,但是呢,如果
阅读全文
摘要:浅谈记忆化搜索算法 本篇随笔简单讲解一下算法竞赛中搜索算法的“记忆化搜索”部分。 来看一道例题: 洛谷 P1434 [SHOI2002]滑雪 题目传送门 题解传送门 题目描述 Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不
阅读全文
摘要:关于地图遍历问题的总结 先来看一道例题: 洛谷 AT1350 深さ優先探索 题目传送门 题解传送门 题意翻译 高桥先生住的小区是长方形的,被划分成一个个格子。高桥先生想从家里去鱼店,高桥先生每次可以走到他前后左右四个格子中的其中一个,但不能斜着走,也不能走出小区。 现在给出地图: s:代表高桥先生的
阅读全文
摘要:洛谷 P1434 [SHOI2002]滑雪 题目传送门 题目描述 Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每
阅读全文