
算法与数学
文章平均质量分 64
ROger__Wong
这个作者很懒,什么都没留下…
展开
-
一道有趣的木板问题
前些日子在网上闲逛,看到一个有趣的木板问题,和同学交流一番,略有心得,就把我的解法写出来分享。题目是这样的,有N块木板,高低均不相同,但因为会互相遮挡,按高矮不同的组合从左右分别看过去可以看到不同的木板数,求从左边看上去有L块,右边看上去有R块的组合数。 如这个图,木板总共有9块,从左边看上去能看到4块,从右边看过去能看到3块。 解题思路与方法:1、首先,这是一个组合原创 2012-08-19 21:11:23 · 1495 阅读 · 0 评论 -
限制玻尔兹曼机(Restricted Boltzmann Machine)学习笔记(一)
限制玻尔兹曼机(Restricted Boltzmann Machine)学习笔记,介绍了基本的神经神经网络和能量函数原创 2015-02-04 23:43:49 · 54818 阅读 · 0 评论 -
贝叶斯网络小结
贝叶斯网络简介原创 2014-12-21 20:32:39 · 20228 阅读 · 1 评论 -
游戏中的博弈浅谈
本篇文章尝试讨论游戏类问题或者说博弈问题并给出一定的抽象,再在此抽象的基础上尝试给出一个一般性的解法,通过这种思路可以应对很多的算法题、面试题,也可在此基础上对解题过程进行一定的变化来解决一些变种问题。 一、理性人假设一个游戏问题归根到底是双方(或多方)游戏玩家进行博弈的过程,为了使描述更为严谨,在描述游戏玩家的时候,隐含假设是该游戏中的玩家均为理性人,即会采取最为合理的策略使其获胜,原创 2013-07-11 23:51:34 · 3417 阅读 · 0 评论 -
InterviewStreet题目(2)
题目描述: Suppose that A is a list of n numbers ( A1, A2, A3, ... , An) and B ( B1, B2, B3, .. ,Bn ) is a permutation of these numbers. We say B is K-Manipulative if and only if its following原创 2013-01-03 15:33:06 · 1294 阅读 · 3 评论 -
一道面试题
在微博上看到一道题,虽然不难但也想了一段时间,所以就记录下来。题目描述:给定int数组,要求在O(n)的时间和O(1)的空间内将其中的奇数排在前面,偶数排在后面并保证相对位置不变。例如 5 6 8 3 2 4 9 ----〉 5 3 9 6 8 2 4虽然题目看似简单,但限制比较苛刻,也就是求一个线性时间内稳定的就地二值排序问题。很遗憾我没法给出我思考的具体过程,这个题目的原创 2013-03-05 10:25:56 · 1235 阅读 · 1 评论 -
InterviewStreet题目(3)
Zombie March Zombies have placed themselves at every junction in New York. Each junction 'i' initially has a presence of ai number of zombies. At every timestep each zombie randomly chooses o原创 2013-01-05 16:31:28 · 1128 阅读 · 0 评论 -
InterviewStreet题目(1)
题目描述,给定等式1/x+1/y=1/(N!),求当x>0且y>0的时候,使等式成立的解(x,y)的个数mod1000007。其中1题目分类:Math题目来源:Interview Street解:首先明确一点,(2,1)和(1,2)诸如此类的算是不同的解。其次明确无论是具体解的个数还是X、Y以及N!均无法在计算机中表示(太大了),因此结合题目的分类,基本上是要从数学的角度来找突原创 2012-12-24 19:13:14 · 1424 阅读 · 0 评论 -
数学的力量(四)
一个月没写博客,都是被论文整的,期间还参加了个Topcoder的马拉松,排在十几名,也没拿到奖金,蛋疼的很。本篇博客还是从组合数学的角度出发,继续探讨数学在编程中的力量。问题描述:给定N个不重复的整数和一个正整数A,使在N中无放回的选出4个数,使得该四个数之和等于A,求有多少种选法。1、O(n^4)首先给出编程方法与思路最简单,但执行时间最长的方法。既然要从N个数选取4个,就遍原创 2012-12-10 21:30:09 · 1329 阅读 · 0 评论 -
数学的力量(二)
接着上回的话题谈起,这次从动态规划的问题入手,谈一谈数学之于算法的力量。 问题描述:一个凸多边形,能被其内部的只相交于定点的对角线分割成若干三角形,给定凸n变形,求其不同划分的个数。 图:一个六边形的两种分法首先,先从算法和编程的角度来解此题。通过分析不难发现,每一种分法实质上是确定多边形每条边所对应的顶点,而一个n边形的划分方法可以原创 2012-11-05 20:45:28 · 1266 阅读 · 0 评论 -
三种最短路径算法
每次做ToperCoder碰到图论的题目都被虐的一塌糊涂,这次毛了,把最短路算法代码贴在这里存档.1、dijkstra-1代表没路径,path为一个数组来描述一个生成树,里面每个元素指向自己的父节点void dijkstra(vector > matrix,int start,int nodenum,int* dist,int* path){ vector tpath; i原创 2012-10-24 17:29:57 · 1395 阅读 · 0 评论 -
数学的力量(一)
最近看一些数学方面的书,包括概率论、数理统计、随机过程、组合数学等,发现数学这个工具威力绝对是无穷的,若在编程中融入数学的一些思想,程序的运行效率会的得到前所未有的提升。遂将这些读书中的感想写成心得,起名曰“数学的力量”。 首先让我们从一个很简单的问题说起:有方程a+b+c+d+e=20,求其非负整数解的个数。题目很简单,首先想到的是使用回溯进行求解,遍历整个解空间数,对可行解进行原创 2012-10-31 21:17:28 · 1555 阅读 · 0 评论 -
生成n个元素全排列的算法
最近研究排列组合,加强数学功底,顺便用stl写了一个生成n个元素全排列的算法。因为n各元素的集合排列的个数很大(n的阶乘),为了使计算机上有效的运行,算法那每一步的执行必须简单。算法的结果应该是一张表,该表包含n个元素的每一个排列。下面描述的算法具有这些特性,这个算法由Johnson和Trotter独立的发现,并被Gardner在一篇通俗的论文中做了描述。-------摘自《组合数学》原创 2012-09-28 11:38:14 · 10326 阅读 · 0 评论 -
称重问题与信息论
朋友给了个网站,翻到最后发现了个称重问题,题目是这样的:有12个小球,其中有一个小球的重量和其余小球不同(不知道偏轻还是偏重),只能称3次,问如何称才能找出这个小球。称重问题归根到底归结为信息论的问题,也就是说如何通过充分利用每次称重的信息来得出想要的结论的问题。具体来说,12个小球,每个小球都有可能偏轻或者偏重,所以一共有24种可能性。问题也就转化为了如何通过3次称重来描述这24种可原创 2012-09-07 19:00:00 · 3212 阅读 · 0 评论 -
限制玻尔兹曼机(Restricted Boltzmann Machine)学习笔记(二)
参考资料:http://deeplearning.net/tutorial/rbm.html#id1http://blog.youkuaiyun.com/itplus/article/details/19168989http://blog.youkuaiyun.com/baigoocn/article/details/38148187转载 2015-03-01 20:44:28 · 9082 阅读 · 0 评论