搜索
Best KeyBoard
这个作者很懒,什么都没留下…
展开
-
知识点-A*搜索
知识点-A*搜索解决问题 最短路径搜索,第k短路概要 一般我们求最短路径都是用Dijkstra算法,这个算法可以比较快的找到一条最短最短路,但要是看这个算法的搜索范围,可以发现,这个算法对很多不需要的区域也进行了搜索,这就大大降低了它的速率。 Dijkstra算法只考虑到每个点的代价,那么我们改为考虑到每个点到终点的预计代价,会怎么样呢?这样的话,路径搜索就只会朝着靠近终点的...原创 2019-08-08 22:22:05 · 274 阅读 · 0 评论 -
知识点-子集生成
知识点-子集生成解决问题 生成一个集合的所有子集复杂度 O(2n)O(2^n)O(2n)例题 hdu1584代码一、增量构造法 按递增顺序构造子集,防止子集重复 如下,A数组用来存储下标#include<stdio.h>int A[100]; int T[100];void print_subset(int n,int *A,int cur...原创 2019-08-06 20:31:21 · 180 阅读 · 0 评论 -
知识点-极大极小搜索+alpha_beta剪枝
知识点-极大极小搜索+alpha_beta剪枝解决问题 博弈类游戏概要 其实就是用深度搜索搜索博弈的策略,博弈中两个人轮流进行游戏,在算法里转化为在搜索的不同深度下选取不同的搜索策略,一般是奇数层选择值值最大的策略,对应第一个人要让自己的收益最大,而偶数层选择值最小的策略,因为第二个人想要赢的话,必定是要让对手的收益最小 下面用一个经典的问题举个例子:你可以选择你朋友手里的两...原创 2019-08-13 20:01:32 · 565 阅读 · 0 评论 -
知识点 - 高维前缀和
知识点 - 高维前缀和解决问题类型:求解多维数组的前缀和,或者是求一个集合中所有有效子集的累加。前置知识前缀和一维前缀和:for(int i=1;i<=n;i++) b[i]=b[i-1]+a[i];二维前缀和:for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) b[i][j]=b[i-1][j...原创 2019-09-03 10:45:44 · 739 阅读 · 2 评论