摘要:
阅读全文
摘要:
3.6 Lonely Mountain Dungeons 算贡献算了半天还错了, 这种采用容斥可以减少细节处理, 代码注释有 #include <bits/stdc++.h> using namespace std; #define endl "\n" #define int long long t 阅读全文
摘要:
F-[APIO2014]回文串 一个板子题, 维护一下每个节点出现次数,倒着把次数往 fail 上推, 长度可以直接维护 #include<bits/stdc++.h> using namespace std; #define endl "\n" #define int long long type 阅读全文
摘要:
今天下午写这题 牛牛的等差数列 时瞪了一下午没找到为什么 wa 了, 留个记录提醒一下自己 后面发现好像是线段树 modify 函数写错了 一般 modify 函数我都是写成这样的 但是写这题 mid 卡在修改区间中间这种写法有点难处理于是我就写了这种写法 一直在 wa, 问题出在这里 这里应该写成 阅读全文
摘要:
启发式合并 启发式合并就是每次把小的集合丢到大的集合中 这样子小的 sz 至少是变成两倍的, 所以每个元素最多被遍历 log 次, 因此复杂度是 O(nlogn)的 [ABC329F] Colored Ball #include <bits/stdc++.h> using namespace std 阅读全文
摘要:
数据结构维护fail树 string AC自动机是离线型数据结构, 所以我们先离线下来所有操作, 先建出来 AC 自动机 再对 fail 树求 dfs 序用树状数组维护, 对 fail 树的子树区间加 为什么是对于子树加呢? 对于 fail 树的构建我们是由 fail [ i ] $\to$ i 那 阅读全文
摘要:
字典树 Beautiful Subarrays 一眼转换为前缀和形式, 然后字典树计数即可 #include <bits/stdc++.h> using namespace std; #define endl "\n" typedef long long ll; const int N = 1e6 阅读全文
摘要:
占个坑明天找个时间把做过的题放一下 阅读全文
摘要:
The 14th Jilin Provincial Collegiate Programming Contest - Codeforces Problem D. Trie(AC自动机 + 树状数组) 大概就是给定一颗 Trie 树 操作一是给 Trie 树的 fail 树上一个集合中的点的所有子节点 阅读全文
摘要:
线段树维护区间等差数列 我们采用用两个懒标记分别维护等 差数列首项 k 和 公差 d 维护时有个细节是假如我有左右两个区间需要合并信息时 我们对于左边还是 k 和 d 但是对于右边信息此时 k 应该变成 k + len * d, 公差还是 d len表示的是右边区间长度 牛牛的等差数列 #inclu 阅读全文
摘要:
线段树维护的信息有当前行有多少方块, 一共有多少方块 拿线段树维护一个矩阵就行,转移更新就是矩阵乘 类似题有这个 牛客多校第二场-H - zhujio 两题都基本上就是转移矩阵求出来正常建线段树, pushup就是直接矩阵乘 #include <bits/stdc++.h> using namesp 阅读全文