上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 39 下一页
摘要: 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) 编辑
摘要: [LOJ6538] 烷基计数加强版加强版 定义$F(x)$表示答案多项式 枚举一个点为根,那么我们可以列出$F(x)$的转移方程 $F(x)=x\frac{F(x)^3+3F(x^2)F(x)+2F(x^3)}{6}+1$ 其中$F(x^2)$表示选了两个相同大小,$F(x^3)$表示选了三个大小相 阅读全文
posted @ 2020-05-09 17:55 chasedeath 阅读(298) 评论(0) 推荐(1) 编辑
摘要: 牛顿迭代求解定义域为多项式的函数零点 (笔者习惯:$f(x)$表示函数,$F(x),G(x)$表示多项式) 前言 原来的牛顿迭代是通过在函数上不断作切线来快速求出一个多项式函数近似的零点 在编程竞赛中,计数类问题我们经常遇到一个(可能是无穷的)数列$a_n$,$a_n$可以由他自己通过一定的转移得到 阅读全文
posted @ 2020-05-09 17:48 chasedeath 阅读(1046) 评论(0) 推荐(1) 编辑
摘要: 「HNOI2019」多边形(树形dp) 题目给出的操作和条件都非常抽象,这意味着我们需要极大程度上精简这个问题 环$\rightarrow$序列 首先,我们将环达成$1..n$的序列,每条边就是一个区间,暂且保留所有多边形原本的边 每条边在多边形上都是把区域分成两部分,所以在序列上每条边都是把一个区 阅读全文
posted @ 2020-05-05 16:09 chasedeath 阅读(254) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 39 下一页