摘要:
import java.util.TreeMap; class Trie { class Node{ boolean isWord; TreeMap<Character, Node> next; public Node(){ next = new TreeMap<>(); isWord = fals 阅读全文
posted @ 2021-11-10 20:16
振袖秋枫问红叶
阅读(24)
评论(0)
推荐(0)
摘要:
对于有一类问题,我们关心的是一个线段(区间),比如区间染色、区间查询 对于一个给定的区间,更新区间中一个元素的值或者查询区间中的最大最小值或者总和,使用线段树更快,又称区间树 线段树是一种平衡二叉树(最大深度和最小深度差值<=1,堆也是平衡二叉树),其节点存储的是一个区间的信息,比如该区间的总和,根 阅读全文
posted @ 2021-11-10 15:45
振袖秋枫问红叶
阅读(90)
评论(0)
推荐(0)
摘要:
import java.util.TreeMap; class MyCalendar { TreeMap<Integer, Integer> treeMap; public MyCalendar() { treeMap = new TreeMap(); } public boolean book(i 阅读全文
posted @ 2021-11-10 15:41
振袖秋枫问红叶
阅读(57)
评论(0)
推荐(0)
摘要:
class NumArray { SegmentTree segmentTree; public NumArray(int[] nums) { segmentTree = new SegmentTree(nums); } public void update(int index, int val) 阅读全文
posted @ 2021-11-10 14:27
振袖秋枫问红叶
阅读(29)
评论(0)
推荐(0)
摘要:
/** * 对于不可变数组,用线段树反而更麻烦 */ class NumArray { int[] sum; public NumArray(int[] nums) { /** * 提前保存前n个元素的和,sum[i]保存的是前i个元素,不包括自身 * 区间和就是左右边界前缀和的差 */ sum = 阅读全文
posted @ 2021-11-10 13:52
振袖秋枫问红叶
阅读(30)
评论(0)
推荐(0)