欧拉图 昨天做题用到了欧拉图,本来刚看到这个名词我是不知道什么是欧拉图的,wiki了一下发现原来欧拉图就是小学奥数做腻了的"一笔画"问题...图论起源于18世纪,1736年瑞士数学家欧拉(Eular)发表了图论的第一篇论文:哥尼斯堡七桥问题"。 在当时的哥尼斯堡城有一条横贯全市的普雷格尔河,河中的两个岛与两岸用七座桥联结起来,见图(1)。当时那里的居民热衷于一个难题:游人怎样不重
最长递增子序列 (Longest Increasing Subsequence, LIS),POJ 2533, POJ 1631 一、问题描述设L=1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列S=k1,ak2,…,akm>,其中k1k2km且ak1k2km。求最大的m值。比如序列(1, 7, 3, 5, 9, 4, 8)的递增子序列包括(1, 7), (3, 4, 8)等等,最长递增子序列为(1, 3, 5, 8),长度为4。二、解题思路(1) 把a1,a2,...,an排序,假
最长公共子序列(LCS, Longest Common Subsequence), POJ 1458 一、问题描述求两个字符串的最长公共子串,经典的动态规划问题。算法导论中有详细的讲解。二、解题思路如若两个字符串分别为:X=abcfbc和Y=abfcab。创建一个二维数组c[][],维数分别是两个字符串的长度加一。定义c[i][j]表示Xi和Yj的最长公共子串(LCS).当i或j等于0时,c[i][j]=0. LCS问题的最优子结构存在以下递归式:c[i][j] = 0
输出从矩阵左上角到右下角的所有路径 一、问题描述一个m×n的矩阵,只能从矩阵内部向右或向下走,输出从矩阵左上角到右下角的所有路径。下图即为从1到6的所有路径123456二、解题思路1、数学解法求路径数(1)使用排列组合。因为只能向右走或者向下走,在(m-1)+(n-1)次行走后,才能到达终点,也就是右下角。而在这m+n-2次行走中,有m-1次
最大子段和问题(Maximum Interval Sum) 一、问题描述给定长度为n的整数序列a[1...n](可能有负数),找出其中连续的子段,使它们的和达到最大。例如 [-2,11,-4,13,-5,2] 的最大子段和为20,所在子区间为[2,4].二、解题思路可以转化为动态规划问题,记s[i]为 a[0]到a[i]中包含a[i](即以a[i]为结尾)的最大子段和,则s[i]如何用s[i-1]来表示?s[i] = s[i-1] +
求数组中和为给定值的所有组合 (POJ 1564) 一、问题描述给定一个数t,以及n个整数,在这n个数中找到相加和为t的所有组合,例如t=4,n=6,这6个数为[4,3,2,2,1,1],这样输出就有4个不同的组合相加为4: 4,3+1,2+2,and 2+1+1。二、解题思路先将数据按从大到小进行排序(POJ 1564已排序),然后使用回溯法遍历所有可能。注意去掉重复的结果。三、代码实现#includeint ok;//是
C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员
递推(直线分割平面问题&子串个数问题) 问:在平面上画出100条直线(直线互不平行,没有两条以上的直线相交于一点),这些直线可把平面分成多少个区域?答:第n条直线分割前n-1条直线组成的平面,多出n个区域,f(n)=f(n-1)+n,f(1)=2,即:f(n)-f(n-1)=n;f(n-1)-f(n-2)=n-1;......f(3)-f(2)=3;f(2)-f(1)=2;f(n)-f(1)=2+3+4+..
12个球称3次 @:http://blog.csdn.net/zmole/article/details/6329585问题描述:12个球,其中有1个次品,重量与其它球不同,其重量略重或略轻未知,现用天平称量3次,找出其中次品,并确定该球是略重还是略轻。解:第1次称量:从中任取8个,天平每侧4个称量,出现如下两种情况:一,两侧重量相等可判断次品在剩下4个球中,现在问题转化为称量2次,从
999瓶水与1瓶毒药撑死老鼠及其拓展 问:有1000个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有10只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?答:把瓶子从0到999依次编号,然后全部转换为10位二进制数。让第一只老鼠喝掉所有二进制数右起第一位是1的瓶子,让第二只老鼠喝掉所有二进制数右起第二位是1的瓶子,等等。一星期后,如果第一只老鼠死了,就知道毒药瓶子
在Eclipse中开发WEKA 有两种方式方法一:工程中导入源代码,进行编译1. 在Eclipse中创建工程,比如WekaTest2. 解压weka的安装目录里的weka-src文件,比如解压到weka-src3. 复制weka-src/src/main/java中的weka文件到WekaTest/src中4. 右键点击工程WekaTest,选择Build Path->External Archives,
win7 系统定时开关机 打开开始菜单,再搜索框里输入cmd,然后回车,进入到控制台。在控制台输入如下命令就可以设置自动关机时间,shutdown /s /t 3600其中3600是3600秒,你可以根据自己的需要改变。如果想要取消的话,输入如下命令,shutdown /a----------------------------------------------------------------
Java 界面外观设置 Java本身的界面比较丑,不过可以通过swing设置LookAndFeel改变外观:1. 使用swing中的Windows皮肤try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");} catch (Exception e) { System.err.printl
Eclipse中文乱码问题解决方案 eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。 如果导入的整个工程的编码方式与eclipse的编码方式有冲突,那么这个工程里所有的中文 都是乱码;如果所有工程的编码方式与eclips
Java学习笔记 (1)Enum 一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用 ”==” 来替换 equals。是一种好的习惯。 JDK1.5 之前没有 Enum 这个类型,那时候一般用接口常量来替代。有了 JavaEnum 之后,可以更贴近的表示这种常量。简单的用法: JavaEnum 简单的用法一般用于代表一组常用常量,可
主动学习与半监督学习Active-learning and Semi-supervised learning 在机器学习(Machine learning)领域,监督学习(Supervised learning)、非监督学习(Unsupervised learning)以及半监督学习(Semi-supervised learning)是三类研究比较多,应用比较广的学习技术,wiki上对这三种学习的简单描述如下:监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射
读书计划 2011.10.30 - ?:The Not So Short Introduction to LaTeX2ε2011.10.27 - ?:数据挖掘:实用机器学习技术(第二版)2011.10.16 - ?:Thinking in java, 4th2011.10.08 - ?:C++ GUI Programming with Qt 4, Second Edition2011.0
要读的书 others: 我是一只IT小小鸟Linux: vbird 的 linux 私房菜C++: Inside the C++ Object ModelQt: C++ GUI Programming with Qt 4Tex: The Not So Short Introduction to LaTex2e.Linux 程序设计(第三版)以及STL和网络编程
解决QT静态编译和debug库问题(mingwm10.dll丢失、collect2:ld returned 1 exit status) 通过网上到处找资料,终于搞定了遇到的问题,相信其它人也会遇到,我就把解决方法非写出来了:平台:windows7 软件:qt4.6+qt creator 1.3 使用的安装包是 qt-sdk-win-opensource-2009.05.exe问题描述: (1)使用qt creator 生成工程,写好程序进行编译运行,在qt creator点击运行,程序能跑起来,没问题,可是我在工程目录下找到编译生成的程序双击运行时,提示缺少mingwm10.dll,无法运行。