算法
文章平均质量分 80
tmljs1988
这个作者很懒,什么都没留下…
展开
-
类似孔明棋,寻找棋局中到达目标点的最短路径(深搜和广搜)
<br />主题内容:有个游戏玩法很类似孔明棋.<br /><br />其游戏的原始规则如下:<br /><br />原始棋盘为这样:<br />假设0为空格 1为棋子<br /><br /><br />0000000<br />0000000<br />0000000<br />0000000<br />1111111<br />1111111<br />1111111<br />1111111<br /><br />1.棋子的移动必须经由跳过其隔壁(可以是水平或是垂直,但不能走斜角)的一颗棋到空格<br原创 2010-11-27 12:08:00 · 3966 阅读 · 0 评论 -
最短路径Djikstra算法 模板+ 例题(九度acm1341: 艾薇儿的演唱会)
最短路径Djikstra算法:主要思想:先找确定的(即当前最短的),不确定的则动态更新。从(V-S)集合中找v0到其中最短的路径的顶点,加入到S中并更新(V-S)集合中其他顶点的路径值。―――――――参考模板:Dp初值为v0到某个顶点v的权值weight[ v0][ v],S初值全为false,pre初值全为-1.(Dp,S,pre下标都从1开始)Dp[ v0]=0;//此原创 2012-01-03 22:32:37 · 5415 阅读 · 0 评论 -
编程之美 2.18数组分割 将一个长度为2N的数组分割成2个长度为N的数组,且两数组的和的差的绝对值最小,即和最接近 动态规划?????????????????????????????????????
对于四个数3,1, 11,2,设a[]={0,3,1, 11,2};N=2,SUM=17,SUM/2+1=9;用dp(i,j,c)来表示从前i个元素中取j个、且这j个元素之和不超过c的最佳方案,在这里i>=j,c 状态转移方程: 取第i个物品 不取 dp(i,j,c)=max{dp(i-1,j-1原创 2011-08-23 16:49:16 · 6864 阅读 · 0 评论 -
矩阵连乘 动态规划 详解
矩阵连乘问题----动态规划(转载):给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。解答:我们按照动态规划的几个步骤来分析:(1)找出最优解的性质,刻画其特征结构对于矩阵连乘问题,最优解就是找到一种计算顺序,使得计算次数最少。令m[i][j]表示第i个矩阵至转载 2011-11-01 17:19:32 · 22812 阅读 · 1 评论 -
凸包问题扩展 巨人和鬼 分治+递归
巨人和鬼一组n个巨人正与n个鬼进行战斗,每个巨人的武器是一个质子炮, 它可以把一串质子流射中鬼而把鬼消灭。质子流沿直线行进,在击中鬼时就终止。巨人决定采取下述策略。他们寻找鬼配对,以形成n个巨人─鬼对,。然后每个巨人同时向他选取的鬼射出一串质子流。我们知道,让质子流互相交叉是很危险的。因此巨人选择的配对方式应该使质子流都不会交叉。假定每个巨人和每个鬼的位置都是平面上的一个固定点,并且没有三个位原创 2012-03-01 11:13:30 · 5028 阅读 · 2 评论 -
三维凸包
三维凸包 3D Convex HullProblem DescriptionThere are N points in 3D-space which make up a 3D-Convex hull*. How many faces does the 3D-convexhull have? It is guaranteed that all the points are not in转载 2012-02-17 20:26:07 · 9948 阅读 · 0 评论 -
凸包问题 —— Graham扫描法
凸包问题 —— Graham扫描法:(1)找出点集p[]中最左下的点p1,把p1同点集中其他各点用线段连接,并计算这些线段与水平线的夹角,然后按夹角从小到大和按到p1的距离从近到远排序(夹角范围为 [0, 180)度,而且可以删除相同夹角且距离p1较近的点,保留最远点,这样可减少计算量。因为直线上的非端点不是凸包的极点,即如果p1,p2,p3在一条直线上,则只取凸点p1,p3。p2不在端点,故原创 2012-02-14 21:00:01 · 32494 阅读 · 3 评论 -
《编程之美》两链表相交及扩展详解
《编程之美》两链表相交及扩展详解:给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的转载 2012-02-11 19:36:32 · 2030 阅读 · 1 评论 -
技术高手的博客:
http://www.starvae.com/?p=136 hdu,acmhttp://www.cnblogs.com/kuangbin/category/311576.html 3D编程:http://www.euclideanspace.com/index.html原创 2010-12-10 10:39:00 · 922 阅读 · 1 评论 -
不连续数列的最大和、最大连续数列和、最大间隔环
1、问题:求不连续数列的最大和。 2、解释:不连续是指两个数在原始数列中必须是间隔的,比如对原始数列{ 1,2,3,4,5 },其不连续数列的最大和为9,对应的不连续数列为{1,3,5},注意1、3是间隔的,3、5也是间隔的。 3、分析:设原始数列为a,当前(待求)的最优解是s[i],则对当前位置i,分两种情况:(1) 如果满足条件的数列中无该数a[i],则s[i]=s[原创 2011-11-25 07:48:45 · 3267 阅读 · 0 评论 -
HDACM1024 max sum plus plus:m个不相交子段的最大和
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1024HDACM1024 max sum plus plus:m个不相交子段的最大和:思路:dp[i][j]表示前j个元素分成i段的最优解,同时这个最优解是由a[j]元素结束的。转移方原创 2011-07-29 15:47:05 · 1380 阅读 · 0 评论 -
最小生成树的边为主算法kruskal 九度acm1347: 孤岛连通工程
最小生成树的边为主算法kruskal模板(并查集):主要思想:把边排序,从所有的边中逐个找最小的边进行连通判断及连接处理。并查集的路径压缩如下(参考资料http://www.cnblogs.com/Veegin/archive/2011/04/29/2032423.html该网页的图中,黑色为根节点,从下往上找到根节点):上图中顶点序号1->2->4->7->8是有可能出现的,例如原创 2012-01-03 23:17:14 · 1293 阅读 · 0 评论