摘要: 定义: 堆的底层数据结构是树,一般不引起歧义的情况下,堆指的是二叉堆,其底层数据结构是完全二叉树,堆分为大根堆和小根堆,大根堆的每个节点的父亲都大于当前节点,小根堆反之,本文以小根堆为例 二叉堆插入 思路:将要插入的树放在数组最后,令数组原来的大小为 \(size\) ,堆数组的名为 \(heap\ 阅读全文
posted @ 2024-12-09 13:56 ZYStream 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 定义: 将多个字符串以树的方式存储即为字典树,如图,\(1,4,3,12\) 表示 \(cca\) ,我么用 \(ch[i][j]\) 来表示第 \(i\) 个节点的 \(j\) 字符所指向的下一个节点,\(tag[u]\) 表示节点 \(u\) 是否代表一个字符串的结尾,如果是的话,\(tag[u 阅读全文
posted @ 2024-12-03 20:23 ZYStream 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题目链接 [CSP-S 2024] 染色 题解 这是一道线性 \(dp\) 问题,难点在于在具体的题目背景中抽象出实际问题,最难的地方是分类讨论。 根据题目的意思,如果第 \(i\) 位数字(\(a_{i}\))的颜色和第 \(i\) 位之前的数字(\(a_{[1,i]}\))的颜色都不同,则这个数 阅读全文
posted @ 2024-11-29 11:39 ZYStream 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 题目链接 [USACO06NOV] Corn Fields G 题解 这是一道典型的状压dp,对于 \(M\) 行 \(N\) 列的图,由于每个点只有 \(1\) 和 \(0\) 两种状态,我们将其压缩为一个长度为 \(M\) 的数组,数组( \(g\) )的每一项 \(g_{i}\) 表示状态的二 阅读全文
posted @ 2024-11-12 21:40 ZYStream 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题目链接 [CSP-S 2024] 决斗 题解 这道题最初的思路是用数值大的打数值小的,而且这一打不能使数值大的那个浪费,先对 \(r\) 数组进行排序(规定从第 \(1\) 项开始)。 sort(r+1,r+1+n); 准确来说,\(r_{i}\) 攻击的是在它之前的没有死亡的元素中的第一个,设 阅读全文
posted @ 2024-11-02 22:37 ZYStream 阅读(84) 评论(0) 推荐(0) 编辑