摘要: 题目 给出一棵家族树,树上的节点可以由名字唯一标识。给出若干个查询,查询的内容为两个名字,结果为两个名字的最近公共祖先。 题目链接: 最近公共祖先 分析 在线的RMQ + LCA 算法,先用dfs将树遍历一遍,每次到达一个节点(无论是从父节点到达还是从它的某个子节点返回),都记录下来该节点id,同时 阅读全文
posted @ 2016-05-30 21:57 农民伯伯-Coding 阅读(212) 评论(0) 推荐(1) 编辑
摘要: 题目 一个NxN的矩阵,矩阵中每个方格中都有一个数值,且每一行的数值严格单调递增,每一列的数值严格单调递增。分别取出N行和N列,形成2N个长度为N的数组,现在有一个数组丢失,已知剩下的2N-1个长度为N的数组,求出丢失的那个数组。 实现 开始做的时候,试图一行一行,一列一列的进行递推枚举,重建出原来 阅读全文
posted @ 2016-05-30 15:22 农民伯伯-Coding 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题目 区间最小值查询,但是支持对数组中的任意数字进行修改。 分析 采用RMQ_ST算法的O(1)算法不支持修改,因为每次修改都要重新设置动归数组。因此采用线段树解决,修改和查询的复杂度均为O(logN). 在实现的时候所犯的错误:每次更新一个数字的时候,走到线段树的某个节点,则直接 判断线段树的当前 阅读全文
posted @ 2016-05-30 08:24 农民伯伯-Coding 阅读(178) 评论(0) 推荐(0) 编辑