Site Overlay

原地 $\pi/2$ 旋转图像算法

我对旋转 $\pi/2$ 的第一反应就是乘以虚数单位 $i$。高中的时候学过,乘以 $i$ 相当于矢量顺时针旋转 $90^\circ$: $$ (x, y) \to (-y, x) $$ 这个公式表明了旋转的坐标变化。不过,由于是在程序实现,会出现覆盖目标点的情况。所以,可以先临时保存当前点,然后用前一个点覆盖当前点,如此往复,直到用当前点覆盖后一个点。这样的话,针对一个象限里的点进行旋转就行了:[ 阅读全文 ]原地 $\pi/2$ 旋转图像算法

二维数组的取模技巧 & 用位图代替哈希表的碰撞检测

问题说明 有六个九宫格的大柜子,大柜子编号 0~5,大柜子的格子(以黑色为单元格)编号 0~8。如下图堆放在一起。现在请给出一个公式,输入柜号 $m$、格号 $n$,输出格子所在的行列位置 $(i, j)$。$m,n,i,j$ 从 $0$ 计数。 这个公式应该怎么推导呢? 首先,以 $m = 4$ 号柜,也就是中下方的红色柜为例,取格号 $n = 6$,也即左下角的小黑格。 对格号 $n$ 模以 [ 阅读全文 ]二维数组的取模技巧 & 用位图代替哈希表的碰撞检测

算法入门笔记:1. 预备知识

目录 模板函数(template function)引用传参(pass by ref)常量引用(const ref)引用返回递归函数异常处理动态内存分配分配释放类运算符重载自定义异常友元模板函数(template function) C++ 的模板是通过编译时懒加载生成类/函数实现的。 使用范例: template<class T> T Abc(T a, T b, T c){ retu[ 阅读全文 ]算法入门笔记:1. 预备知识

递归求子集算法 通俗解释

目录 说明原理分析参数分析与伪代码表述编程语言表述说明 我目前初学算法,所以语言上应该会比算法大佬们通俗很多。考虑到方便性,我使用的伪代码为基于 php 加上一些自然语言处理的代码,可以比直接写 C++ 代码更容易理解。文章末尾会附上我的 C++ 代码。 原理分析 首先看原理。 现有集合 set = [1, 2, 3] 。设有一个空集 setToAppend = [] 。 挑出 set[0] = [ 阅读全文 ]递归求子集算法 通俗解释

项目管理课(网课)笔记

说实话这个网课没啥实质性的收获,个人更喜欢营销的网课。用来水学分还是不错的。 目录 第一章 项目管理的概念项目的概念项目和运作的区别项目的形式管理的概念五大管理职能第二章 项目管理的要素第三章 项目管理的历史发展历史发展阶段在中国的发展阶段理论实践研究发展的历史第四章 项目管理的体系与方法论导致项目失败的原因PRINCE2七个原则七个主题七个流程比较项目管理体系第五章 项目管理成功四个方面和八大要[ 阅读全文 ]项目管理课(网课)笔记

物理学基础 6:静电场中的导体与电解质

基础 静电平衡的导体内部场强为零: 原因:内部电子自由移动形成了反向电场,抵消了外部的电场。 例题 【例子】 有一空气平行板电容器,电容为C,两极板间距为d,充满电后两极板间的相互作用力为F,则两极板间的电压为,正极板带电量为。 【分析与解答】 $$ F = \frac{QE}{2} = Q \frac{U}{2d}\\ Q = CU $$ 所以 $ U = \frac{2dF}{Q} = \fr[ 阅读全文 ]物理学基础 6:静电场中的导体与电解质

高数笔记:多元函数微分法及其应用

目录 题型计算全微分判断多元函数连续性偏导存在和连续有关系吗?求曲面的切线、切面、法线等全微分的存在条件驻点和极值点的判断复合函数的求导法则已知偏导数求原函数的方法题型 计算全微分 【例子】 求 $z = e^{\frac{y}{x}+ \frac{x}{y}}$ 的 全微分。 解: $$ \begin{align} d z &=e^{\frac{y}{x}+\frac{x}{y}} d\left[ 阅读全文 ]高数笔记:多元函数微分法及其应用