随笔分类 -  ACM

摘要:最长公共子串与最长公共子序列是有区别的。区别在于最长公共子串要求字符是连续的。 例如:str1: abcd str2: abec那么最长公共子序列是:abc,长度为3最长公共子串是:ab,长度为2 1. 最长公共子序列 Largest common subsequence 最长公共子序列:用f[i] 阅读全文
posted @ 2016-10-26 17:46 beaglebone 阅读(210) 评论(0) 推荐(0)
摘要:#include #include #include using namespace std; int main() { int num; cin>>num; string result; int a1[]={1000,900,500,400,100,90,50,40,10,9,5,4,1}; string a2[]={"M", "CM", "D", "C... 阅读全文
posted @ 2016-10-15 21:00 beaglebone 阅读(262) 评论(0) 推荐(0)
摘要:格雷码打印:打印出0~2n-1数,且相邻两个数只有一位不同。 阅读全文
posted @ 2016-10-15 20:59 beaglebone 阅读(178) 评论(0) 推荐(0)
摘要:筛选法求素数,不断的用3,5,7,等素数作为筛子,筛除这些数的倍数,即将合数筛除。用辅助数组p记录数i是否是素数。 阅读全文
posted @ 2016-10-15 20:57 beaglebone 阅读(143) 评论(0) 推荐(0)
摘要:卡特兰数问题:1. 有一个无限大的栈,一共n个元素,请问有几种合法的入栈出栈形式? 2. 排队买电影票的问题,有2n个人排队买票,其中有n个人只有一张50元纸币,另外n个人只有一张100元的硬币,售票员没有零钱,问这2n个人应该怎样排队,才能使得不冲突,每个人都能买到票。 3. 矩阵A1A2A3.. 阅读全文
posted @ 2016-10-15 19:55 beaglebone 阅读(602) 评论(0) 推荐(0)
摘要:N阶乘的结果sum,对这个结果进行质因数分解,sum=2x * 3y * 5z * 7w....,末尾为0是由2*5=10导致的。而被2整除的数比被5整除的数多很多,因此2*5的出现的次数应该是质因数5出现的次数Z。 阅读全文
posted @ 2016-09-18 22:26 beaglebone 阅读(220) 评论(0) 推荐(0)
摘要:问题一:对字符串s,输出字符串S中字符的所有排列。例如:输入字符串"abc",其全排列是abc,acb,bac,bca,cab,cba; 方法一:这是一个深度优先搜索的过程。 方法二:递归的过程:首先求所有可能出现在第一个位置的字符,也就是把第一个字符与后面的所有字符交换。其次,固定第一个字符,求后 阅读全文
posted @ 2016-09-17 12:08 beaglebone 阅读(151) 评论(0) 推荐(0)
摘要:问题一:字符串s1与字符串s2之间的编辑距离为:将s1转换成s2的最少步数,转换过程可以进行的操作有: 1.插入一个字符 2.删除一个字符 3.替换一个字符 我们用f[i][j]表示s1[0,i]前i个字符组成的字符串,和s2[0,j]前j个字符组成的字符串,之间的编辑距离。若s[i-1]==s[j 阅读全文
posted @ 2016-09-16 23:25 beaglebone 阅读(605) 评论(0) 推荐(0)
摘要:问题一:子数组和的最大值: 用f[i]表示以a[i]结尾的最大连续子序列和。i在0~n-1之间,最后比较所有的f[i]找到最大值。对于这样的一维动态规划,可以简化为用一个变量f滚动完成更新。 问题二:不相交子数组和之差的最大值。 我们需要将数组分成不相交的两部分,分别求所有可能的两部分的子数组的和的 阅读全文
posted @ 2016-09-16 21:49 beaglebone 阅读(500) 评论(0) 推荐(0)
摘要:问题一:将字符串“abcde”翻转成“edcba”;用start表示字符串的首地址,end表示字符串的最后一个字符的指针。 问题二:将字符串“I am a student.”翻转,但是每个单词内的字符顺序不变,变成“student. a am I”。 问题三:将字符串"abcdefg"左旋2位成字符 阅读全文
posted @ 2016-09-16 20:14 beaglebone 阅读(164) 评论(0) 推荐(0)
摘要:动态规划:用f[i][j]表示s[i~j]字符串是否是回文字符串。 阅读全文
posted @ 2016-09-16 18:00 beaglebone 阅读(262) 评论(0) 推荐(0)
摘要:问题:求出序列的最长递增子序列,比如序列a[9]={2,1,5,3,6,4,8,9,7},求此序列的最长递增子序列为{1,3,4,8,9}; 方法一: 用LCS的方法,计算序列a与排序后的序列b之间的最长公共子序列。在这里用了快速排序,然后再用LCS方法。 LCS最长公共子序列:用f[i][j]表示 阅读全文
posted @ 2016-09-16 15:59 beaglebone 阅读(332) 评论(0) 推荐(0)
摘要:Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the hist 阅读全文
posted @ 2016-07-25 16:28 beaglebone 阅读(202) 评论(0) 推荐(0)