摘要: #关于冒泡排序和二分查找的一些个人看法 ##1. 冒泡排序 冒牌排序为什么叫冒泡排序呢?是因为每次都会有一个较小的数不断往数组前方走(小到大排序),如同一个泡泡上升的过程,因此我们称之为冒泡排序。先贴一下代码: void Bubble_sort() { for(int i = 1;i < n;i + 阅读全文
posted @ 2020-12-15 17:17 面包络合物 阅读(167) 评论(0) 推荐(0) 编辑
摘要: ###1. 题面 ###2. 解法 错排公式 将$N$个编号元素放在$N$个编号位置,求元素编号和位置编号不相同的方案数。这样的问题我们称为错排问题 递推公式$$D[n] = (n-1)*[D[n-1]+D[n-2]]$$ 其中$D[n]$表示方案数 下面给出证明: 第一步,把第$n$个元素放在一个 阅读全文
posted @ 2020-12-14 14:46 面包络合物 阅读(91) 评论(0) 推荐(0) 编辑
摘要: #容斥原理 ###1. 容斥原理式子 \(|S_1 \cup S_2 \cup S_3 \cdots \cup S_n| = \sum_{1<i<n}|S_i| - \sum_{i<i<j<m}|S_i \cap S_j| + \sum_{1<i<j<k<m}|S_i \cap S_j \cap S 阅读全文
posted @ 2020-12-14 14:05 面包络合物 阅读(96) 评论(0) 推荐(0) 编辑
摘要: ###题目 ###分析 此题很明显啊,要在跑最短路的同时把经过每个结点间的最短路给统计出来。起初不知道怎么做,那就看看数据范围吧。一看,好家伙,\(n < 100\)。这明摆着就是Foyld啊。 具体操作 Folyd跑两点之间的最短路并且统计两点之间的最短路数量: 如果$f[i][j]$大于$f[i 阅读全文
posted @ 2020-12-10 19:36 面包络合物 阅读(61) 评论(0) 推荐(0) 编辑
摘要: #如何理解递归 利用递归,我们可以解决很多问题,比如汉诺塔或者八皇后问题。对于一个待求解的问题,他的范围可能会很大,我们无法直接计算出他的答案。当它在小范围,或者某种特殊情况下的答案我们往往是知道的。我们将小范围或特殊情况下的解称为问题边界(我们已经可以从这里解决问题了,不需要再向前探索了)。我们可 阅读全文
posted @ 2020-12-10 17:16 面包络合物 阅读(103) 评论(0) 推荐(0) 编辑
摘要: #树的直径 什么是树的直径? 树的直径指树中最远的两个节点之间的距离,连接这两个节点之间的路径被称为树的最长链。 树的直径的时间复杂度? \(O(N)\) 原理 我们通过两次DFS,第一次从任一点$S$出发进行DFS,找到一个离$S$最远的点$D$,然后从$D$点出发,寻找离$D$点最远的点$E$, 阅读全文
posted @ 2020-12-06 11:31 面包络合物 阅读(152) 评论(0) 推荐(0) 编辑
摘要: #快速幂 快速幂代码 int Fastmi(int a,int b,int p) { int ans = 1 % p; for(; b; b >>= 1) { if(b & 1) ans = (long long)ans * a % p; a = (long long)a * a % p; } re 阅读全文
posted @ 2020-11-26 20:22 面包络合物 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 2019年11月17日OI退役祭 2019年12月15日CSP/S叁等 2020年2月13日洛谷打卡三百天祭 2020年11月7日进入校ACM队 阅读全文
posted @ 2020-02-13 15:31 面包络合物 阅读(118) 评论(0) 推荐(0) 编辑
摘要: #第一章 线性代数中的线性方程组 线性方程 包含变量$x_1,x_2,\cdots,x_n$的线性方程是形如$$a_1x_1+a_2x_2+\cdots+a_nx_n=b$$的方程,其中$b$与系数$a_1,a_2,\cdots,a_n$是实数或复数,通常是已知数。 线性方程组 线性方程组是由一个或 阅读全文
posted @ 2020-02-13 08:47 面包络合物 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 今天还是放假,上午预计一张理综,下午出去补充物资...... 线性代数的笔记可能要咕咕咕了。 12.6更新 话说我疫情在家到底是歇了多久啊QWQ 阅读全文
posted @ 2020-02-12 07:40 面包络合物 阅读(88) 评论(0) 推荐(0) 编辑