上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页
摘要: 方法一:Line Sweep naive的想法是检查面积是否相等,但可以举出overlap的反例。顺着这种思路想,如果能判断是否重叠,那么本题就解决了。 暴力检查重叠太慢了。这里采用line sweep的方法。先根据x排序,维护一个对于y interval的active set。从左向右扫描,遇到左 阅读全文
posted @ 2019-07-22 16:10 約束の空 阅读(425) 评论(0) 推荐(0)
摘要: https://www.topcoder.com/community/competitive-programming/tutorials/line-sweep-algorithms/ Computational Geometry - Line Sweep - 1 - Closest Pair (Ar 阅读全文
posted @ 2019-07-18 15:37 約束の空 阅读(315) 评论(0) 推荐(0)
摘要: 树的题递归来做。给定一个root,如果左右两颗子树height一样,那么root就是所求的解;如果不一样,那么解一定再height高的那棵子树里,递归调用即可。height和depth的区别:What is the difference between tree depth and height? 阅读全文
posted @ 2019-07-17 14:25 約束の空 阅读(120) 评论(0) 推荐(0)
摘要: 参见 307. Range Sum Query - Mutable Segment Tree Tree Implementation (SegmentTreeNode) https://www.youtube.com/watch?v=rYBtViWXYeI&list=PLLuMmzMTgVK7ug0 阅读全文
posted @ 2019-07-15 13:05 約束の空 阅读(276) 评论(0) 推荐(0)
摘要: 本题的核心是找到LCS,然后通过dp数组,反向构建出 Common Supersequence。这和 print LCS 的思路极其相似。 LCS: Longest Common Subsequence / String 总结 https://www.geeksforgeeks.org/printi 阅读全文
posted @ 2019-07-15 09:29 約束の空 阅读(462) 评论(0) 推荐(0)
摘要: 本题第一眼看上去很难,但是实际上并不是二维的问题,而是一个一维的数组分段的问题。 本题需要格外注意下标,很容易出错。 为了减少对第一本书的初始化,记 dp[i] 为前i本书所需的最小高度,即下标 0~i-1,初始条件为 dp[0]=0 用j表示从下标j开始放到下一个row,即 [j~i-1] 为新的 阅读全文
posted @ 2019-07-15 06:35 約束の空 阅读(533) 评论(0) 推荐(0)
摘要: 只能向右或者向下,典型的DP问题。本题问的是能到达右下角的最小初始生命值。 dp[i][j] 表示从 dungeon[i][j] 位置到右下角的最小初始生命值。 dp[i][j] = min(dp[i+1][j], dp[i][j+1]) - dungeon[i][j],同时要保证dp[i][j]始 阅读全文
posted @ 2019-07-15 04:37 約束の空 阅读(98) 评论(0) 推荐(0)
摘要: 一看就是DP题,但是递推公式比较难想。为了简化问题,给 nums 开始和最后都加上1。 记 dp[i][j] 表示 nums[i~j] 能得到的最大coin。 k 表示保留着的气球, dp[i][j] = max_k { dp[i][k-1] + nums[i-1] * nums[k] * nums 阅读全文
posted @ 2019-07-14 16:03 約束の空 阅读(86) 评论(0) 推荐(0)
摘要: 表达式相关的题目,由于会出现各种嵌套,通常用递归来做。 递归来做主要由两种,如 op e1 e2 1. 通过括号或者空格找到 e1, e2 的范围,递归求解 e1, e2。 2. 直接递归求解,在递归内找 e 的范围。 由于本题比较复杂,很难直接把嵌套的表达式找出来,因此采用第二种方法,在递归中处理 阅读全文
posted @ 2019-07-14 13:58 約束の空 阅读(198) 评论(0) 推荐(0)
摘要: Greedy 先生成abbreviation,如果有重复,对所有重复的prefix再添加一个字符,直到没有重复为止。 记dict长度为n,每个word平均长度为m。 外侧for循环O(n),while循环最多O(m), 内侧:j的for循环O(n) + k的for循环最多也是O(n) * abbre 阅读全文
posted @ 2019-07-08 04:47 約束の空 阅读(309) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页