随笔分类 -  algorithm

摘要:博问里面的一个问题,有一点意思,小记录一下。Problem将N * M个边长为一的正方形拼成一个N* M的矩形( 每行M个小正方形,共N行 ),现在从矩形的左上角到右下角连一条线,求这条线“经过”多少个小正方形。其中,"经过"表示该线和小正方形有无穷多个交点,即恰好过一个顶点不算。第一行:T表示T组测试数据, T <= 100,接下来T行,每行N和M, N, M <= 10 ^ 4, 表示N * M个小正方形。对于每个测试数据输出一行,一个整数R,表示经过R个正方形。AnalysisN*M(N行,M列)的矩形,内部是一个个的网格;2*2:经过2个 3*2:经过4 阅读全文
posted @ 2012-03-22 00:58 zsounder 阅读(1793) 评论(1) 推荐(2) 编辑
摘要:依然是德问上的一个问题: 首先两个字符串string1="ab"和字符串string2="c",他们的合并关系指输出所有的组合,这个例子应该输出:abc,acb,cab(每一个字符串的元素相对位置不变)。 给定了一个字符串string3="abc",怎么按照上面说的合并规则确定string3是不是string1和string2的一个合并关系呢? 问题分析: 假设两个字符串分别是string1和... 阅读全文
posted @ 2012-03-17 19:24 zsounder 阅读(623) 评论(0) 推荐(2) 编辑
摘要:This is a puzzle adapted from spikedmath. 阅读全文
posted @ 2012-03-15 12:18 zsounder 阅读(268) 评论(0) 推荐(1) 编辑
摘要:Description有一颗 n个点的树,根节点序号是 1,其他节点的序号按照由上而下,由左往右的顺序排列。知道树中 n-1条边的长度。如何计算一个点到树中最远点的距离?输入:第1行为节点数n,以下n-1行,每行两个整数,分别给出节点2到节点n的父节点和边权。输出:n行,其中第i行为节点i到树中最远点的距离。来自德问的一个题目,看到了就想了一下,其实就是一个dp,下面简要写一下算法思路,给出一个实例的分析过程。这里只针对二叉树做分析,多叉的情况处理方法类似。把树放平了看,可能好理解一点,求节点i到树中最远点的距离。推导:1: 从图中看,从i出发的路径有三条,分别是path-0,path-1,p 阅读全文
posted @ 2012-03-15 02:42 zsounder 阅读(1745) 评论(2) 推荐(4) 编辑
摘要:DescriptionBackground The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the world. Whenever a knight moves, it is two squares in one direction and one square perpendicular to this. The world of a knight is the chessboard h 阅读全文
posted @ 2012-03-13 20:54 zsounder 阅读(299) 评论(0) 推荐(1) 编辑
摘要:A*寻路初探 GameDev.net作者: Patrick Lester 译者:Panic 2005年3月18日译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。 这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫无疑问,作者用形象的描述,简洁诙谐的语言由浅入深的讲述了这一神奇的算法,相信每个读过的人都会对此有所认识(如果没有,那就是偶的翻译太差了--b)。 现在是20 阅读全文
posted @ 2012-03-09 17:07 zsounder 阅读(465) 评论(0) 推荐(1) 编辑