最长公共子序列问题: 给定2个字符串,求其最长公共子串.如abcde和dbada的最长公共字串为bd. 动态规划:dp[i][j]表示A串前i个和B串前j个的最长公共子串的长度. 则 若A[i] == B[j] , dp[i][j] = dp[i-1][j-1] + 1; 否则 dp[i][j] = max(dp[i-1][j],dp[i][j-1]); 时间复杂度O(N*M). dp[i][j]仅在A[i]==B[j]处才增加,对于不相等的地方对最终值是没有影响的. 故枚举相等点处可以对其进行…
Balls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 907   Accepted: 598 Description The classic Two Glass Balls brain-teaser is often posed as: "Given two identical glass spheres, you would like to determine the lowest floor in a 100-s…
一种最坏情况线性运行时间的选择算法 - The missing worst-case linear-time Select algorithm in CLRS. 选择算法也就是求一个无序数组中第K大(小)的元素的值的算法,同通常的Top K等算法密切相关. 在CLRS中提到了一种最坏情况线性运行时间的选择算法,在书中给出了如下的文字描述(没有直接给出伪代码). 1.Divide n elements into groups of 5 2.Find median of each group (Ho…
题目 k个鸡蛋从N楼层摔,如果确定刚好摔碎的那个楼层,最坏情况下最少要试验x次? 换个说法: k个鸡蛋试验x次最多可以检测N层楼.计算出N? 逆向思维和数学公式解. 分析 定义N(k,x) 如果第k个鸡蛋碎了,则 还剩k-1块鸡蛋. 下一次只需检查下面的楼层. 还剩x-1次机会. 如果第k个鸡蛋没有碎,则 还剩k块鸡蛋. 下一次只需检查上面的楼层. 还剩x-1次机会. 即N(k,x) = 1 + N(k-1,x-1) + N(k,x-1) 初始值N(k,1)=1 N(1,x)=x 代码如下: 空…
根据兔子试药情况可以缩小范围,如果死了,不在试过的药里面,如果活着,在试过的药里. 最糟的情况: 两个原则 1.能确定魔药所在的范围的尽量大,2.死得兔子尽量多. 如果当前不知道情况的药n为k的二倍以上,那么基于上面两个原则,试过药的兔子肯定会死. 没死:范围k,损失的兔子0 死了:范围n-k,损失的兔子1 (n>2*k) (符合两个原则) 设r=n%k,经过上述过程,损失了n/k-1只兔子,转移到了当前状态范围w = k+r, 1.r == 0 那么可以补充一个毒药,变成w=k+1,根据鸽巢原…
LINK:探险队 非常难的题目 考试的时候爆零了 完全没有想到到到底怎么做 (当时去刚一道数论题了. 首先考虑清楚一件事情 就是当前是知道整张地图的样子 但是不清楚到底哪条边断了. 所以我们要做的其实就是选择最优的路线 使得遇到断边情况下是最优的. 可以发现在某个点出现断边的时候 此时断的一定是这个点到终点最短路上的边 这样是最差的结果. 那么其实就是断边只会断由T发出的最短路树上的边. 到达某个点知道断边之后 其实要求出断开这条边再到T的最短路. 暴力是\(nm\cdot logn\)的 考虑…
传送门 题意 给出n种袜子,每种袜子个数a[i],两只相同种类袜子配成一对,询问至少拿出多少只袜子能确保配出k对袜子 分析 In order to find out the minimum number of socks needed, we should analyse the worst possible scenario. This happens when we first take one sock of each color. Next, whatever color we choo…
今晚要参加网易的笔试,所以一直在刷题,刷到这个题的时候觉得自己的思路很模糊,就去网上百度了一下,找到一个大神给的解决方案: 如下: (http://ppwwyyxx.com/2013/Problem-of-Two-Eggs/) 自己写的代码:…
  用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况...   还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多.   top: 主要参数d:指定更新的间隔,以秒计算.q:没有任何延迟的更新.如果使用者有超级用户,则top命令将会以最高的优先序执行.c:显示进程完整的路径与名称.S:累积模…
http://www.imooc.com/article/17290 http://www.51testing.com/html/38/n-3720638.html https://dev.mysql.com/doc/refman/5.7/en/innodb-multi-versioning.html https://vinta.ws/code/locking-and-mvcc-in-mysql-innodb.html http://kabike.iteye.com/blog/1820553 是…