ACM - 学习笔记
文章平均质量分 57
Joursion
这个作者很懒,什么都没留下…
展开
-
初出茅庐 【 题集 】 (一) 更新 ing ......
总是很羡慕边上的人的各种优秀,原创 2014-10-09 19:08:26 · 621 阅读 · 0 评论 -
网络流 - Edmond-Karp 小讲 【 理解 + 例题 】 更新 ing...
希望每天晚上在机房,可以去原创 2014-09-27 18:59:32 · 1057 阅读 · 0 评论 -
KMP小讲 【理解 + 例题】 更新 ing.....
看到这个,你也许会问,为什么原创 2014-07-10 09:52:20 · 614 阅读 · 0 评论 -
思想 - 回溯 更新 ing...
看着大三大四学长的简历,和他们原创 2014-09-25 21:08:14 · 586 阅读 · 0 评论 -
素数 小讲
我不害怕无论路多崎岖,知道不远原创 2014-10-13 22:14:17 · 549 阅读 · 0 评论 -
二分搜索 小讲 【 理解 + 例题 】 更新ing......
人生路漫漫、、、、 今天我们来讲一下二分搜索原创 2014-10-18 11:25:30 · 735 阅读 · 0 评论 -
逆序数 小讲 【 理解 + 例题 】 更新ing....
下午的电路实验,真让人心烦,原创 2014-10-30 17:17:25 · 1528 阅读 · 0 评论 -
最长公共子串 小讲
注意区分最长公共子串和最长公共子序列的差别:子串是连续的,子序列是可以不连续的。题:给定两个字符串X,Y,求二者最长的公共子串,例如X=[aaaba],Y=[abaa]。二者的最长公共子串为[aba],长度为3。本节给出三种不同的实现方式,并对比分析每种方法的复杂度,内容如下:==基本算法====DP方案====后缀数组====各方法复杂度分析==转载 2014-11-01 21:29:12 · 861 阅读 · 0 评论 -
常用技巧之 尺取法 【 理解 + 例题 】
给定一个长度为n的正整数数列,以及整数S。求总和不小于S的连续子序列的长度最小值。 可以按照如下方法解决该问题:(1) 设置两个指针s和t,一开始都指向数列第一个元素,此外sum=0,res=0;(2) 只要sum(3) 直到sum>=S,更新res=min(res,t-s);(4) 将sum减去一个元素,s加1,执行(2)。上述流程反复地推进区间的开原创 2014-07-18 23:21:07 · 730 阅读 · 0 评论 -
计数排序 小讲
计数排序是一个类似于桶排序的排序算法,其优势是对已知数量范围的数组进行排序。它创建一个长度为这个数据范围的数组C,C中每个元素记录要排序数组中对应记录的出现个数。这个算法于1954年由 Harold H. Seward 提出。原创 2014-09-18 21:18:52 · 805 阅读 · 1 评论 -
快速排序 小讲 - (二)【 理解 + 例题 】 更新 ing...
换了校区,没有空调的生活好无奈。 (原创 2014-09-09 20:57:51 · 593 阅读 · 0 评论 -
杂七杂八 - 字符串 ”最小表示法“
“最小表示法”思想在字符串循环同构问题中的应用(摘自周源的ppt)前言:“最小表示法”比起动态规划、贪心等思想,在当今竞赛中似乎并不是很常见。但是在解决判断“同构”一类问题中却起着重要的作用。本文即将讨论字符串中的同构问题,如何巧妙地运用最小表示法来解题呢,让我们继续一起思考吧。到底什么是循环同构的字符串呢?直接举个例子:比如 str1 = "abd转载 2015-04-18 16:59:23 · 393 阅读 · 0 评论 -
概率DP入门总结 16题
mark 一下,开始看看概率dp。。。很早就被概率题和期望题虐得不行了,这次真的不能忍了,怒刷概率dp,学到了很多,都是最基础的,还需日后强化。下面说一下我个人的总结: 很多概率题总逃不开用dp转移。 期望题总是倒着推过来的,概率是正着推的,多做题就会理解其中的原因 有些转载 2015-04-10 21:20:56 · 492 阅读 · 0 评论 -
【算法学习】双调欧几里得旅行商问题(动态规划)
双调欧几里得旅行商问题是一个经典动态规划问题。《算法导论(第二版)》思考题15-1和北京大学OJ2677都出现了这个题目。旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程。这个解的一般形式为NP的(在多项式时间内可以求出)J.L. Bentley 建议通过只考虑双调旅程(bitonictour)来简化问题,这种旅程即为从最左点开始,严格地从左到右直至最右点,然后严格地从右到左直转载 2015-03-21 15:19:59 · 1192 阅读 · 1 评论 -
Manacher算法总结
Manacher算法算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。相对于前面介绍的两个算法,Manacher算法的应用范围要狭窄得多,但是它的思想和拓展kmp算法有很多共通支出,所以在这里介绍一下。Manacher算法是查找一个字符串的最长回文子串的线性算法。在转载 2015-02-25 17:48:13 · 668 阅读 · 0 评论 -
划分树 小讲 【 理解 + 例题 】
划分树,可以在区间内找出第k 大的数,时间复杂度为log(n)。原创 2015-02-04 22:04:48 · 472 阅读 · 0 评论 -
最小生成树 - kruskal 小讲 【 理解 + 例题 】
最近学不进新的东西,只能看看以前的了,原创 2014-08-05 21:22:42 · 5173 阅读 · 0 评论 -
二分图 小讲
为了更好地原创 2014-08-09 14:23:51 · 599 阅读 · 0 评论 -
快速排序 小讲 - (一)【 理解 + 例题 】
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序转载 2014-09-09 10:50:07 · 1935 阅读 · 0 评论 -
数位DP 小讲 【 理解 + 例题 】 更新 ing......
因为.....因为..... 太久没更新博客了,自己 也原创 2014-07-24 20:30:26 · 888 阅读 · 0 评论 -
鸽笼原理 小讲 【 理解 + 例题 】 更新 ing ...
桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面至少放两个苹果。这一现象就是我们所说的“抽屉原理”。 抽屉原理的一般含义为:“如果每个抽屉代表一个集合,每一个苹果就可以代表一个元素,假如有n+1或n+(n-1)个元素放到n个集合中去,其中必定至少有一个集合里有两个元素。” 抽屉原理有时也被称为鸽巢原理。它是组合数学中一个重要的原理。为小学六年级课程。(摘自百原创 2014-09-04 11:59:41 · 1994 阅读 · 0 评论 -
哈夫曼树 小讲
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。原创 2014-10-29 22:32:34 · 833 阅读 · 0 评论 -
LCS 小讲
首先要明确的是子序列的概念,注意啦,子序列不等于子串。子序列是一个字符串S去掉零个或者多个字符后所剩下的字符串就叫做子序列。 最长公共子序列的意思就是寻找两个给定字符串的的子序列,该子序列在两个字符串中以相同的次序出现,但是不一定是连续的。(连续的那是子串) 例如序列X=ABCBDAB,Y=BDCABA。序列BCA是X和Y的一个公共子序列,但是不是X和Y的最长公共子序列,子转载 2014-11-03 22:37:05 · 610 阅读 · 0 评论 -
二叉树遍历 小讲
才发现,慢慢地长大,烦恼也慢慢地来了,时间,原创 2014-11-18 21:28:05 · 533 阅读 · 0 评论 -
RMQ小讲 【 理解 + 例题 】
RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j原创 2014-07-04 23:02:21 · 1002 阅读 · 0 评论 -
矩阵快速幂 小讲
今天来讲一下快速幂,呃.... 一直玩,感觉暑假快原创 2014-08-06 23:23:03 · 584 阅读 · 0 评论 -
stirling数 小讲 【 理解 + 例题 】 ing...
今天看到两位巨巨,都不敢直视了、、、原创 2014-09-17 21:04:20 · 735 阅读 · 0 评论 -
DAG 模型小讲 【 理解 + 例题 】
本来很早就想学这个东西,都说是动态规划的基础,可是白书上一笔原创 2014-10-27 16:26:55 · 5296 阅读 · 3 评论 -
最小生成树 - prim 小讲 【 理解 + 例题 】 更新 ing...
今天来复习一下prime算法,发现好多东西,原创 2014-09-10 16:00:12 · 2223 阅读 · 2 评论 -
希尔排序 小讲
希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。原创 2014-09-22 23:08:53 · 665 阅读 · 0 评论 -
邻接表 小讲
acm,不知道还要不要继续,我希望,学习算法这条路不会断.... 很早原创 2014-09-16 21:07:05 · 971 阅读 · 0 评论 -
常用技巧之 位运算 小讲
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1转载 2014-10-31 13:56:24 · 469 阅读 · 0 评论 -
树状DP 小讲 【 理解 + 例题 】 更新 ing......
树状DP ,也称作附属关系的背包问题附属关系的背包问题这类问题是0-1背包的扩展,因为存在附件,而且如果要买附件,那么一定要买该附件的主件(附件不再有附件)。可以转换为我现在只考虑主件,如果我买了当前主件,那么该主件所有的附件我都可以考虑买或者不买,共2^k种状态(k是附件个数)。同时一般题目中附件个数不超过3,所以完全可以承受。原创 2014-07-28 17:04:48 · 623 阅读 · 0 评论 -
归并排序 小讲
归并排序是稳定的排序.即相等的元素的顺序不会改变.如输入记录 1(1) 3(2) 2(3) 2(4) 5(5) (括号中是记录的关键字)时输出的 1(1) 2(3) 2(4) 3(2) 5(5) 中的2 和 2 是按输入的顺序.这对要排序数据包含多个信息而要按其中的某一个信息排序,要求其它信息尽量按输入的顺序排列时很重要.这也是它比快速排序优势的地方.原创 2014-08-14 22:17:40 · 583 阅读 · 0 评论 -
最短路 - spfa - (一)
首先建立起始点a到其余各点的最短路径表格 首先源点a入队,当队列非空时: 1、队首元素(a)出队,对以a为起始点的所有边的终点依次进行松弛操作(此处有b,c,d三个点),此时路径表格状态为: 在松弛时三个点的最短路径估值变小了,而这些点队列中都转载 2014-08-11 13:41:10 · 652 阅读 · 0 评论 -
最短路 - spfa - (二) 【 理解 + 例题 】 更新 ing......
在家的学习原创 2014-08-11 13:46:15 · 778 阅读 · 0 评论 -
最短路 - floyd 【 理解 + 例题 】 更新 ing...
看着巨巨们越来越牛逼,原创 2014-08-21 22:47:11 · 1964 阅读 · 0 评论 -
最短路 - dijkstra - (一)
今天来讲一讲dij算法,包括其原创 2014-08-21 22:17:42 · 630 阅读 · 0 评论 -
欧几里德与扩展欧几里德 小讲 【 理解 + 例题 】 更新 ing
欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。原创 2014-09-04 16:22:43 · 540 阅读 · 0 评论 -
动态规划 - 矩阵连乘问题(笔记)
题目描述:给定n个矩阵{A1,A2,…An},其中Ai 与Ai+1 是可乘的,i = 1,2,3…n-1。考查这n 个矩阵的连乘积A1A2….An。 比如A1A2A3,可以有(A1A2)A3,A1(A2A3) 这两种方式。思路若使用穷举搜索法,其复杂度是随着n的增长呈指数增长的,可以使用动态规划的时候,即求其最优子结构。设AiAi+1…Aj记作A[i : j],设A[i : j],1 <= i <原创 2015-11-01 03:43:17 · 826 阅读 · 0 评论