算法小灵感(//▽//)
这里记录了我学习生活中的一些算法设计灵感,用于解决一些无聊问题,是我对算法之美的理解
清川先生
上海交大计算机博士在读,博客已迁移到:https://www.zhihu.com/people/liu-ji-27-94
展开
-
弹性碰撞次数与圆周率的关系 - 3Blue1Brown
问题来源如何求解这个小球碰撞次数与圆周率关系的趣味问题? - 知乎三种解法占位待续(第三种解法的矩阵正交复变换触及了我的数学盲区)原创 2019-12-17 15:17:46 · 3978 阅读 · 1 评论 -
抛物线的中点Bresenham算法
1 抛物线的特征通常定义抛物线为到一条直线(准线)和直线外一点(焦点)距离相等的点的集合。这里只讨论顶点为原点,沿纵坐标轴对称且开口向上的情况。而对于其他情况可以通过图形的平移和旋转等线性变换得到。其描述方程如下:F(x,y)=y−ax2(a>0)F(x,y)=y-ax^2(a>0)F(x,y)=y−ax2(a>0)与椭圆不同,抛物线是无边界的非封闭图形,若要在屏幕上绘...原创 2019-12-11 17:09:18 · 4154 阅读 · 0 评论 -
小学生奥数倒水问题的数学模型与算法求解
1 问题描述设有n个容器,容量分别为L1, L2, ..., Ln,初始情况下的水量状态向量为(W1, W2, ..., Wn)。要求的目标水量状态向量为(D1, D2, ..., Dn)。求是否有一个倒水的操作序列作用与水量状态向量,使其从初始态变为目标态,要求不能借助其他工具,包括肉眼观察水位。2 问题分析2.1 倒水操作规则我们可以分析得到,倒水操作序列中的每一个操作必为可逆操作,它...原创 2019-12-11 16:15:31 · 5047 阅读 · 0 评论 -
递归法求解算术表达式
问题引出逆波兰式的递归定义如下如果算术表达式E = (E'),则RPN(E) = E'如果算术表达式E = E1 OPERAND E2,则RPN(E) = RPN(E1) RPN(E2) OPERAND注:RPN 表示 Reverse Polish notation其中问题求解的难点在于,对于第二条规则如何分割子串。编译原理课上老师回避了这个问题,而使用了常见的算符栈的方法求解,但仔...原创 2019-12-11 16:03:05 · 1019 阅读 · 0 评论