05 2022 档案
摘要:这题之前就做过,结果这次在 Coursera 上遇到又没做出来,,, 对并查集利用的思路真的很妙,所以还是记录一下 其实这题有两种方法,种类并查集 (开三倍大小的并查集) 与带权并查集 带权并查集的空间显然更优越,而且能扩展到物种食物链环长度为 \(n\) 的情况,所以这里主要介绍一下这种方法 首先
阅读全文
摘要:一开始我想用优先队列来实现构造哈夫曼树,并以指针方式存储每个结点的左右儿子的地址 很自然的想到如下的代码 #include <iostream> #include <algorithm> #include <queue> using namespace std; const int MAX_N =
阅读全文
摘要:很喜欢各种巧妙的数据结构,这次从头开始系统的学习一下! 浅谈数据结构 结构 \(=\) 实体 \(+\) 关系 数据结构是按照逻辑结构组织起来的一批数据,按一定的存储方法存储,并在这些数据上定义了相关运算的集合 数据结构的逻辑组织 线性:表,栈,队列 非线性:树,图,堆 数据结构的存储结构 顺序,链
阅读全文
摘要:简单的整数划分问题 将正整数 \(n\) 表示成一系列正整数之和,\(n=n_1+n_2+…+n_k\), 其中$n_1>=n_2>=…>=n_k>=1 ,k>=1$ 。 正整数 \(n\) 的这种表示称为正整数 \(n\) 的划分,正整数 \(n\) 的不同的划分个数称为正整数 \(n\) 的划分
阅读全文
摘要:行的状态就均可从上一行推出 若最后一行的灯成功熄灭,证明该方案可行 2. 讨厌的青蛙 两点确定一条直线:枚举直线的起始两点确定直线 适当剪枝 递归 小游戏 棋盘分割 用栈模拟递归 完美覆盖: 需要仔细思考的一道 DP,我们可以发现对于一个矩形的完美覆盖可以有两种 一种可以将覆盖(竖着)分成两个子矩形
阅读全文
摘要:类型强转运算符的重载 程序填空:使以下程序能够顺利运行 #include<iostream> using namespace std; class Number { public: int num; Number(int n=0): num(n) {} Number operator*(const
阅读全文