上一页 1 2 3 4 5 6 ··· 18 下一页
摘要: \(Description\) Luogu传送门 \(Solution\) 早就想做这道 P2048 了,但是之前太菜了,不会 QwQ RMQ + 前缀和 + 堆 显然要做一个前缀和,但是做完前缀和之后暴力枚举区间显然是不行的。 考虑一下我们到底要计算什么: 对于一个点 \(u\),我们要计算 \( 阅读全文
posted @ 2021-12-29 18:10 xixike 阅读(59) 评论(0) 推荐(0) 编辑
摘要: \(Description\) Luogu传送门 \(Solution\) 01trie + 堆 考虑对原数组做个前缀异或和,然后原问题就变成了找 \(k\) 对不都相同的点对,使它们异或起来的和最大。 显然我们要找出前 \(k\) 大的点对 \((l, r)\),但是 \(l\) 要小于 \(r\ 阅读全文
posted @ 2021-12-29 17:58 xixike 阅读(51) 评论(0) 推荐(0) 编辑
摘要: Description Luogu传送门 Solution 观察到数据范围: 对于 \(50\%\) 的数据,满足 \(R,C \leq 200\) 另有 \(50\%\) 的数据,满足 \(R = 1, C \leq 5 \times 10^5\) …… 明显要进行数据分治了。。 Subtask_ 阅读全文
posted @ 2021-12-29 14:18 xixike 阅读(27) 评论(0) 推荐(0) 编辑
摘要: Description Luogu传送门 Solution 非常巧妙的构造题。 考虑先构造出不相交的矩阵,就是相当于两只手交叉的两个矩阵。 如下图: 然后再把输入的字符矩阵中是 # 的位置在两个矩阵中都赋值为 #,就能做到四联通且恰好覆盖了。 Code (附上丑陋的代码,懒得改了。) #includ 阅读全文
posted @ 2021-12-28 19:24 xixike 阅读(42) 评论(0) 推荐(0) 编辑
摘要: Desciption CF95E Lucky Country Solution 非常巧妙的 \(dp\) 题,sto xy学长 orz 同一个区域的岛屿明显只能在一起,所以用并查集合并一下同一区域内的岛屿。 然后我们要找出用最少的边连出一个幸运地区。 那这不就是一个背包吗! 朴素的状态:\(dp_{ 阅读全文
posted @ 2021-12-27 23:12 xixike 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 主席树的最基础的操作就是查询历史版本区间第 \(k\) 大,带修。 这个问题的基础解决思路:对于每次修改都建一棵权值线段树,显然空间开不下。 这时可持久化线段树的思路就应运而生了。 主要思想: 不难发现,每次修改只会有一条链上的值发生改变,所以我们不需要建出整棵新树,只需要把新建那条链上的点即可。 阅读全文
posted @ 2021-12-27 14:02 xixike 阅读(30) 评论(0) 推荐(0) 编辑
摘要: Description Luogu传送门 Solution 顾名思义,我们要实现的就是可持久化文艺平衡树,也就是带修的文艺平衡树。 前置知识:文艺平衡树,可持久化平衡树 对于每次修改,我们要新建出被修改的那棵子树,所有的修改及查询操作全都是在要求的版本中进行。 修改之后建出新的版本。 我写的时候直接 阅读全文
posted @ 2021-12-27 14:00 xixike 阅读(56) 评论(2) 推荐(0) 编辑
摘要: Description Luogu传送门 Solution 好水的状压 \(dp\)…… 非常套路的状态,设 \(dp_{i, s}\) 表示吃了状态为 \(s\) 的菜,且最后一个吃的是 \(i\) 的最大满意度。 那么如何转移呢? 枚举状态 \(s\),枚举最后一个吃的 \(i\),再枚举倒数第 阅读全文
posted @ 2021-12-26 16:15 xixike 阅读(51) 评论(0) 推荐(0) 编辑
摘要: Descirption Luogu传送门 Solution 主席树 + LCA + 树上差分 看到 查询第 \(k\) 小的点权,自然想到主席树。 那么这道题就是在一棵树上维护一个主席树。 考虑一个数列上的主席树是如何建的,转换到一棵树上应该不难吧( 再来看两个点间的区间第 \(k\) 小如何找。 阅读全文
posted @ 2021-12-25 19:22 xixike 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Description Luogu传送门 Solution 考虑使用平衡树维护 hash 值。 一个点的 sum 值表示这个点所在子树的 hash 值,那么如何更新呢? 应该还是比较简单的吧,就是: \[ 左子树_{sum} \times (右子树_{siz} + 1) + 根_{val} \tim 阅读全文
posted @ 2021-12-25 14:32 xixike 阅读(33) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 18 下一页