摘要:
5726. 连续子序列 - AcWing题库 01trie 的不错的练习题。题目说了求一段连续子序列的异或和,因为异或有结合律,所以我们可以直接预处理一个前缀异或和,即 \(a[l,r] = sum[r] \operatorname {xor} sum[l - 1]\)。然后求一段异或和就变成了求任 阅读全文
摘要:
更好的体验 trie 有两种写法,一种是迭代,一种是递推,我比较喜欢递推,比较好想,代码也短。 带注释的代码 /* 开始理解可持久化, 这里因为是acwing打卡, 可以放图片了 有可能会用图片, 尽量打字 可持久化trie, 就是一个trie树但是可以通过不同的开头(root), 变成每个历史状态 阅读全文
摘要:
这可不是基础题的第k小数哈。 自己想出来的,感觉要容易想到,使用可持久化线段树,时间上要比y的慢一倍。大体思想就是,我们从小到大依次加入一个数,每加入一个就记录一个版本,线段树里记录区间里数的数量,在查询时,只要二分出区间数的数量大于等于k的最小版本即可,这个版本对应插入的点就是要求的第 k 小点, 阅读全文