摘要: HDU - 5967(LCT) LCT动态维护基环内向树 将树边直接加入,对于根节点记录一个$mark$值存多出来一条边的信息 查询时找到当前树的根,然后根据$mark$值判断 #include<cstdio> #include<cctype> #include<iostream> #include 阅读全文
posted @ 2020-05-21 16:09 chasedeath 阅读(148) 评论(0) 推荐(0) 编辑
摘要: HDU - 5333 多维问题容易想到离线 从左到右,每次将$max(u,v) \leq i$的边加入,动态地用LCT维护一颗最大的生成树 每次插入如果产生环,将$min(u,v)$较大的边保留 满足最优性之后,加边删边的时,用树状数组维护边权$\geq j$的总数(即联通块减少的数量),就可以直接 阅读全文
posted @ 2020-05-21 16:07 chasedeath 阅读(122) 评论(0) 推荐(0) 编辑
摘要: HDU - 5398(LCT) 用LCT动态维护环 这题需要我们弄一些小性质 假设我们从大的数向小的数连边,那么一定是向大的数的因子连边,加入的边总数就是$n\ln$ 如果这条边已经存在,那么就要从当前产生的环上换下来,存一个最小值 这样就是$LCT$模拟连边过程,总复杂度$n \cdot \log 阅读全文
posted @ 2020-05-21 16:04 chasedeath 阅读(167) 评论(0) 推荐(0) 编辑
摘要: "HDU 4117" 构建AC自动机 dp从每一个的子串上转移过来 转移过程中不断匹配,然后统计$fail$树上前缀的最大值,这是一个动态的过程 于是我们用树剖线段树动态维护 阅读全文
posted @ 2020-05-21 15:59 chasedeath 阅读(169) 评论(0) 推荐(0) 编辑
摘要: "HDU 5069" 求后缀与前缀的最大匹配长度 我写的很暴力 首先对于前一个字符串,直接匹配到末尾,其实接下来就是求$fail$树上的这段前缀上的每一个点与后一个串在$trie$树上的位置的最长公共前缀长度 我的做法是:将$trie$树树剖,依次访问$fail$树上的每一个节点回答询问 访问$fa 阅读全文
posted @ 2020-05-21 15:57 chasedeath 阅读(116) 评论(0) 推荐(0) 编辑
摘要: BZOJ 3172 题目中的文章是由所有单词拼出来的,但是单词直接互相独立 首先单词都丢进AC自动机,然后一个个跑匹配 每一次更新$fail$树上一段路径前缀的节点即可 事实上就是在哪里放一个1,按次向根累加就能得到答案 阅读全文
posted @ 2020-05-21 15:55 chasedeath 阅读(93) 评论(0) 推荐(0) 编辑
摘要: POJ - 2778 对于所有串构建AC自动机,将AC自动机上的位置作为状态,暴力矩阵转移即可 int n,m; int a[N]; char s[N]; int val[N]; const int SIZE=101; int trie[SIZE][4]; int End[SIZE]; int fa 阅读全文
posted @ 2020-05-21 15:54 chasedeath 阅读(94) 评论(0) 推荐(0) 编辑
摘要: "HDU 2457" 把AC自动机上的状态存进dp状态里,直接暴力转移就可以了 阅读全文
posted @ 2020-05-21 15:52 chasedeath 阅读(94) 评论(0) 推荐(0) 编辑
摘要: "ZOJ 3228" 先把模板串都丢进AC自动机 然后跑查询 对于允许重叠的,我们直接对$fail$树上一段路径的节点的答案++ 否则我们分串的长度讨论,对于每种长度的串处理一个答案$dp[i][6]$ 阅读全文
posted @ 2020-05-21 15:50 chasedeath 阅读(112) 评论(0) 推荐(0) 编辑
摘要: POJ 1204 把要查询的串都扔进AC自动机,然后暴力check就是了 阅读全文
posted @ 2020-05-21 15:49 chasedeath 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 反演 什么是反演 对于已知$F_i=\sum a_{i,j}\cdot G_j$ 反演得到$G_i=\sum b_{i,j} \cdot F_j$ $\text{NTT,FFT,FWT}$的逆卷积都可以认为是一种反演 子集反演 即反解高位前缀和 常见我们写成代码是 void FWT(int n,in 阅读全文
posted @ 2020-05-21 14:37 chasedeath 阅读(298) 评论(0) 推荐(0) 编辑
摘要: LOJ3120「CTS2019 | CTSC2019」珍珠 只是想要祭奠做的时候死去的我 约定下文中的$d$为题目中的$D$ Part1 先从最最暴力的定义转移(可以跳过这个) $S$表示个数为奇数的颜色集合 转移多项式(集合幂指数)\(F(x)=\sum_0^d x^{\{i\}}\) $\tex 阅读全文
posted @ 2020-05-21 13:13 chasedeath 阅读(147) 评论(0) 推荐(0) 编辑