
算法随笔
SuperRabbit007
渺小得像一枚普朗克常量
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线性筛实践
线性筛(欧拉筛)使用范围:得到[2…N]之间所以素数 说实话埃氏筛已经足够优秀,能基本做到o(n),但欧式筛才是真正的线性筛且能在筛出质数的同时运算欧拉函数和莫比乌斯函数这两个积性函数的运算,实用于处理数论问题。欧拉筛拆解分析(一)初始化int n,pn=0;//int num[maxl], prim[maxl],phi[maxl],mob[maxl];其中num[x]值...原创 2020-03-09 14:02:50 · 221 阅读 · 0 评论 -
堆排序算法实践
堆排序这讲的目的不在于堆排序毕竟快排足够好,而在于数据结构堆。所谓堆其实是指用一颗完全二叉树维护的一维数组(简单来说就是用一个一位数组储存一颗完全二叉树)。完全二叉树请自行百度堆有着非常鲜明的特点,就是知道一个节点在数组中储存的位置后可以轻松得到其左右子叶(如果有的话)以及其父节点、相邻节点(两个节点有相同的父节点则为相邻节点)的储存位置堆的储存方式首先给一颗完全二叉树标号,规则为从上至...原创 2020-02-17 19:27:04 · 355 阅读 · 0 评论 -
FFT算法实践
快速傅里叶变换(FFT)使用范围:多项式相乘。编程实现1、多项式的预处理A(x)=a0+a1*x+a2*x2+…+ala-1*xla-1(共la项)B(x)=b0+b1*x+b2*x2+…+blb-1*xlb-1(共lb项)C(x)=A(x)*B(x)=c0+c1*x+c2*x2+…+clc-1*xlc-1(lc<=la * lb)要使用FFT首先得将la、lb补至n(n=2k...原创 2020-02-17 12:12:33 · 813 阅读 · 0 评论 -
A*算法实践
关于A*算法使用的总结和体会部分理论叙述转自:https://blog.youkuaiyun.com/hitwhylz/article/details/23089415**A算法的使用范围:**最普遍的就是矩形网格上的最短路,可以拓展至其他几何图形网格,但我认为一定得是能够计算出估计值并且满足乐观图条件的网格才能使用A算法。A算法的必要组成:A算法是一种基于bfs类似dijkstra的启发式...原创 2020-02-14 20:01:41 · 484 阅读 · 0 评论