三维计算几何基础 本篇内容是围绕着三维计算几何展开,三维几何的很多概念和知识与二维几何是想通的,所以在我们做三维几何问题的时候,可以采用解决二维几何问题相同的方法来解决。其中点,向量,直线等概念和二维几何相似,就不再重复介绍了。平面我们可以用平面上的一点和该平面的法向量(即垂直于该平面的向量)n来表示一个平面。 计算几何 2022年01月10日 74 点赞 0 评论 65402 浏览
什么是树上随机游走? 什么是树上随机游走?我们可以假设给定一棵树,树的某个结点上有一个硬币,在某一时刻硬币会等概率地移动到邻接结点上,问硬币移动到邻接结点上的期望距离。1.树上随机游走用到的定义:●所讨论的树●结点的度数●结点与v结点之间的边的边权●结点的父结点●结点的子结点集合●结点的兄弟结点集合2.向父结点走的期望距离 图论 2022年03月22日 88 点赞 0 评论 65712 浏览
简述LGV引理 LGV引理可以用于在DAG上求解不相交路径方案数问题,下面我们简单介绍一下。一、简介LGV引理英文全称是Lindström–Gessel–Viennotlemma,可以用来处理有向无环图上不相交路径计数等问题。在此之前,大家要先了解图论相关概念、矩阵、高斯消元求行列式等知识, 图论 2022年04月20日 249 点赞 0 评论 65870 浏览
概率DP实例讲解 在动态规划中,概率DP一般会用于研究有关于概率,步数,期望等问题。简单总结为以下四个点:(1)数学期望P=Σ每一种状态*对应的概率。(2)因为不可能枚举完所有的状态,有时也不可能枚举完,比如抛硬币,有可能一直是正面,etc。但是现在发现大多数题就是手动找公式或者DP推出即可, 动态规划 2022年02月16日 105 点赞 0 评论 66011 浏览
手指树的基本结构 一、简介手指树(FingerTree)是一种纯函数式数据结构,由RalfHinze和RossPaterson提出。二、为什么需要手指树?在函数式编程中,列表是十分常见的数据类型。对于基于序列的操作,包括在两端添加和删除元素(双端队列操作),在任意节点插入、连接、删除, 数据结构 2022年05月22日 142 点赞 0 评论 66507 浏览
树上启发式合并 启发式算法是什么呢?启发式算法是基于人类的经验和直观感觉,对一些算法的优化。最常见的就是并查集的按秩合并了,有带按秩合并的并查集中,合并的代码是这样的:voidmerge(intx,inty){intxx=find(x),yy=find(y);if(size[xx]<size[yy])swap(xx, 图论 2022年02月17日 189 点赞 0 评论 66961 浏览
复数的概念和运算 复数的引入,追根求源,最初是为了求解没有实数根的二次方程。例如求解这个由实数组成的方程,显然没有实数根。所以复数集可以看成实数集合的一个自然扩充。首先引入一个“新数”i。使它满足也就是说i是的解。我们再给复数定义:形如z=a+bi的数就是复数。 数学相关 2022年03月13日 171 点赞 0 评论 68008 浏览
C++代码浅谈IDA*算法 本篇简述一下IDA*算法,并列出代码帮助大家理解。(1)算法简介IDA*(IDA*)算法是一种启发式搜索算法,他是采取了迭代加深的A*算法,使用了深度优先搜索的方式。相对于A*算法,IDA*算法主要解决了:1.A*算法需要判重,对优先级排序的问题。 搜索算法 2022年05月15日 144 点赞 0 评论 68736 浏览
序列自动机概述 在学习和了解序列自动机前,我们要熟悉自动机,“自动机”一般都指“确定有限状态自动机”。自动机是计算机科学中被广泛使用的一个数学模型,其思想在许多字符串算法中都有涉及,因此推荐在学习一些字符串算法(KMP、AC自动机、SAM)前先完成自动机的学习。 字符串相关 2022年03月09日 221 点赞 0 评论 69420 浏览
堆排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(nlogn)稳定性:不稳定排序2.什么是堆?堆排序是一个比较特殊的排序方式,在学习之前我们必须要了解什么是堆堆是一种非线性的数据结构,可以把堆看作一个数组, 排序算法 2022年03月31日 84 点赞 0 评论 69671 浏览