Python matrix 3种解矩阵方程方法

高斯消元法,简单迭代法(Jacobi迭代),高斯迭代法(Gauss-Seidel迭代)。参考文章,该参考文章可以让你明白简单迭代和高斯迭代的方法。
总结:高斯迭代和简单迭代法会遇到矩阵存在解但迭代不收敛的情况,推荐使用高斯消元法。

  1. 高斯消元 O(n3)
  1. 简单迭代 O(k*n2)
  1. 高斯迭代基本思路和简单迭代差不多 O(k*n2)

Timus #1005

题目说明:把全部石头分成两部分,使得两堆石头质量相差最小

题目解析:dp动态规划

因为本人不会/没写过动态规划,该代码实为CSDN上的代码,本人做法为全排列,算法复杂度太高,runtime error。

Timus #1296

题目解释:最大子序列的和

GitHub 访问及下载加速方法

  1. 自己电脑常用方式:
    SteamCommunity302
    及得勾上github
  2. 服务器常用镜像下载网站
    https://ghproxy.com/

GIT CLONE:
git clone https://ghproxy.com/https://github.com/stilleshan/ServerStatus

WGET & CURL:
wget https://ghproxy.com/https://github.com/stilleshan/ServerStatus/archive/master.zip
wget https://ghproxy.com/https://raw.githubusercontent.com/stilleshan/ServerStatus/master/Dockerfile
curl -O https://ghproxy.com/https://github.com/stilleshan/ServerStatus/archive/master.zip
curl -O https://ghproxy.com/https://raw.githubusercontent.com/stilleshan/ServerStatus/master/Dockerfile

优化A* 算法运行时间python代码

说明:文章所示优化对某些地图有一定优化作用,运行速度可以提高2倍以上,但很大程度上会牺牲准确度,并且很多时候并不能用此方法加速运行,请在有一定A*算法代码基础上阅读。代码中piecemeal_matrix判断边界函数没有那么完美,只是提供一种参考,有兴趣的朋友可以和我一起改进。

A*算法在迷宫很复杂的情况下运行速度会很慢,甚至会和Dijkstra算法运行速度差不多,比如遇到如下这张复杂地图:

尽管只有约100*100像素,但是在我电脑上要运行10s左右时间才能计算出来(我电脑运行速度比较慢,不同电脑运行时间不同,文章测试环境均为同一台电脑)

遇到这种规则的方方正正的迷宫,我们可以运用(伪)图片缩小。不同于直接缩小图片,更可以说成对迷宫切片,防止图片缩小变糊。简单算法思路:把迷宫围墙边界作为转换后矩阵像素,类似于边缘检测,如下图x轴方向上的切片:

最终可以得到如下切片/缩小后图片:

最终结果对比:

优化前10s左右运行速度得出的图片:

优化后5s左右运行速度得出的图片:

切片优化python代码

优化前python代码

具体A*算法代码可见我的博客

浙ICP备2021019730-1    浙公网安备 33010902002953号
Copyright © 2024 PanCake