摘要:
```cpp / 前面的那一坨是可以O1计算的 后面那个显然后缀数组单调栈比较好写??? 两个后缀的lcp长度相当于他们在后缀树上的lca的深度 那么我们就能够反向用后缀自动机构造出后缀树然后统计每个点作为lca的情况和即可 / include include include include inc 阅读全文
摘要:
```cpp /* 一道在树上乱搞的题目 建立出parent树来, 然后就能搞出每个节点往后能扩展出几个串, 至于位置不同算同一个的话就强制让right集合大小为1即可 然后在树上类比权值线段树找第k大26分统计一下即可 */ #include #include #include #include #include #define ll long long #define mmp make... 阅读全文
摘要:
```cpp / 一个建立后缀自动机一个跑就行 依旧是对于所有的祖先都有贡献 / include include include include include define ll long long define mmp make_pair define M 400010 using namesp 阅读全文
摘要:
```cpp / 用所谓的加法拆分操作得到 x + y = (x ^ y) + 2 (x & y) 那么我们这两段异或相当于前缀和 + 2 分段使左右两块&最大 记当前前缀异或和为S, 那么我们要找到优秀的X最大化(S^X) & X 显然贪心可行, 插入的时候维护当前数字所有子集, 打个vis标记, 阅读全文