题目大意 两个字符串strA和strB(长度最大为2100),他们中按照顺序有一些公共的子串,且公共子串的长度大于等于3,否则不认为是合法的,比如 abcdef 和 abcxcdef, 按照顺序有合法公共子串abc def 或者 cdef。 按照顺序取出一些公共子串,有不同的取法,求这些取法中公共子 ...
分类:
其他好文 时间:
2016-05-28 21:53:11
阅读次数:
243
题目大意 给出一个函数调用日志,判断日志是否合法,且求出合法日志中函数调用的时间长度。 题目链接:performance log 题目分析 首先需要清除非法日志的几种情形: (1)日志的时间戳不是按照时间递增的顺序 (2)函数A中调用函数B,而函数A先于函数B结束 (3)函数没有被START过,却出 ...
分类:
其他好文 时间:
2016-05-28 20:35:07
阅读次数:
276
题目大意 一棵树,每个节点都有相应的value值。从根开始选择M个节点相互连通,使得这些节点的value值之和最大。 题目链接:[刷油漆][1] 题目分析 典型的树形dp,dp[i][j] 表示以节点i为根的子树中选择j个节点(从i节点出发)相互连通,所能达到的节点value之和的最大值。可以很容易 ...
分类:
其他好文 时间:
2016-05-28 20:26:47
阅读次数:
117
题目大意 给定国际象棋8x8棋盘上三个起始点,三个骑士分别从三个起始点开始移动(骑士只能走日字,且骑士从任意一点出发可以走遍整个棋盘)。现要求三个骑士汇聚到棋盘上某个点,且使得骑士到达该点所移动的次数总和最小。求该最小移动次数。 题目连接:骑士问题 题目分析 典型的搜索,最短路径可以使用BFS。骑士 ...
分类:
其他好文 时间:
2016-05-28 19:19:03
阅读次数:
139
题目大意 智能手机九点屏幕滑动解锁,如果给出某些连接线段,求出经过所有给出线段的合法的滑动解锁手势的总数。题目链接: 滑动解锁 题目分析 首先,尝试求解没有给定线段情况下,所有合法的路径的总数。可以使用dfs进行搜索。代码如下: 在上面的dfs搜索基础上,添加对已有线段的限制。9个点,维护 conn ...
分类:
其他好文 时间:
2016-05-28 19:15:19
阅读次数:
121
题目大意 有N个居民点在一条直线上,每个居民点有一个x表示坐标,y表示居民点的现有居民数。现在要求将居民点的居民重新分配,每个居民点的居民最远迁移的距离为R,要求分配完之后,居民点中居民数最多的居民点的居民数最少。求出居民数最多的居民点的居民数的最少值。 题目分析 求最大最小值/最小最大值的问题,可 ...
分类:
其他好文 时间:
2016-05-23 10:21:12
阅读次数:
129
#1283 : hiho密码 #1283 : hiho密码 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho根据最近在密码学课上学习到的知识,开发出了一款hiho密码,这款密码的秘钥是这样生成的:对于一种有N个字母的语言,选择一个长度为M的单词;将组成这个单词的所 ...
分类:
其他好文 时间:
2016-05-22 16:54:15
阅读次数:
444
题目大意 给出1到100这100个数中的某些数字(各个数字不同),这些数字形成一个个间断的连续区间,向1-100中添加M个数字,使得添加后1-100中某连续区间的长度最大,求出添加M个数字后,最长的连续区间的长度。 分析 计算机解决问题嘛,就是搜索解空间,不断的进行尝试(当然在尝试的基础上进行优化, ...
分类:
其他好文 时间:
2016-05-20 11:51:21
阅读次数:
126
题目大意 给出一棵二叉树的前序和中序遍历结果,求出后序遍历的结果。保证二叉树中节点值均不相同。 分析 通过前序和中序遍历的结果,我们可以构建出二叉树,若构建出二叉树,则后序遍历的结果很容易求出(当然递归方法很容易)。主要是二叉树的构建。 二叉树类型非常适合用递归进行求解,所以考虑通过递归的方式来建立 ...
分类:
其他好文 时间:
2016-05-19 10:24:09
阅读次数:
121
题目大意 给出一棵树,其中每两个节点都可以形成一个路径(要求路径中的边只能走一次),求出所有路径中的长度最大值。 分析 树形结构,很容易想到递归,但为了节省时间,要考虑保存中间状态。于是,考虑使用记忆化搜索(也就是树形动态规划)。 保存状态 dp[i][2],其中dp[i][0]表示以i为根的子树中 ...
分类:
其他好文 时间:
2016-05-19 10:21:44
阅读次数:
126