程序控

IPPP (Institute of Penniless Peasent-Programmer) Fellow

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

随笔分类 -  Algorithm

摘要:一、问题这是一道历史悠久,又很困难的逻辑推理题,有的公司还会将其作为面试题。有人将其称为“鬼谷子问题”,但笔者至今没有找到任何可靠来源。先给出问题。你在旁观主持人和甲、乙两个天才数学家玩猜数字游戏。主持人准备了两个数,告知甲乙:这两个数不同,且大于等于1,小于等于30。然后主持人将两数之积告诉甲,把两数之和告诉乙。甲知道乙拿到两数之和,乙也知道甲拿到两数之积。主持人让甲乙猜这两个数字,让甲先发言。甲:“我不知道这两个数是什么”乙:“我也不知道”甲:“那我知道了”乙:“那我也知道了”请问你,这两个数是什么?另一种等价表述(即所谓的鬼谷子问题):一天,鬼谷子随意从2-99中选取了两个数。他把这两个 阅读全文
posted @ 2013-09-19 12:33 Devymex 阅读(24635) 评论(18) 推荐(4) 编辑

摘要:Time limit: 3.000 seconds限时3.000秒Problem问题In darkest lived a tribe called the ``Eeny Meenys''. They got this name from their way of choosing a chief for a year. It appears that a newspaper reporter visited the tribe and managed to get across a few ideas of civilisation, but apparently came t 阅读全文
posted @ 2013-08-18 22:51 Devymex 阅读(873) 评论(0) 推荐(0) 编辑

摘要:概念平面内两条线段位置关系的判定在很多领域都有着广泛的应用,比如游戏、CAD、图形处理等,而两线段交点的求解又是该算法中重要的一环。本文将尽可能用通俗的语言详细的描述一种主流且性能较高的判定算法。外积,又称叉积,是向量代数(解析几何)中的一个概念。两个二维向量v1(x1, y1)和v2(x2, y2)的外积v1×v2=x1y2-y1x2。如果由v1到v2是顺时针转动,外积为负,反之为正,为0表示二者方向相同(平行)。此外,文中涉及行例式和方程组的概念,请参阅线性代数的相关内容。为方便计算,对坐标点的大小比较作如下定义:x坐标较大的点为大,x坐标相等但y坐标较大的为大,x与y都相等的点 阅读全文
posted @ 2010-08-19 21:44 Devymex 阅读(24041) 评论(10) 推荐(5) 编辑

摘要:概念全排列的生成算法有很多种,有递归遍例,也有循环移位法等等。C++/STL中定义的next_permutation和prev_permutation函数则是非常灵活且高效的一种方法,它被广泛的应用于为指定序列生成不同的排列。本文将详细的介绍prev_permutation函数的内部算法。按照STL... 阅读全文
posted @ 2010-08-17 02:37 Devymex 阅读(12117) 评论(13) 推荐(2) 编辑

摘要:概念凸包(Convex Hull)是一个计算几何(图形学)中的概念。用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边型,它能包含点集中所有点的。严谨的定义和相关概念参见维基百科:凸包。这个算法是由数学大师葛立恒(Graham)发明的,他曾经是美国数学学会(AMS)主席... 阅读全文
posted @ 2010-08-09 17:06 Devymex 阅读(17492) 评论(5) 推荐(8) 编辑