摘要: 前置结论 如果 \(p\) 为素数,有以下结论: \(a^p \equiv a \pmod p\) 即费马小定理 \[C_{p}^i \equiv \begin{cases} 1 & i=0 或者 i=p \\ 0 & 其他情况 \end{cases} \pmod p \] 证明可以展开 \((a+ 阅读全文
posted @ 2024-09-02 19:05 Green&White 阅读(9) 评论(0) 推荐(1) 编辑
摘要: 算法介绍——高维前缀和 引入 我们都知道二维前缀和有这么一个容斥的写法: for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j]; } } 那换成三维前缀和,就有如下容 阅读全文
posted @ 2024-09-02 19:04 Green&White 阅读(37) 评论(0) 推荐(1) 编辑
摘要: 一些约定: 字符串下标从1开始 s[1,i]表示S的第一个到第i个字符组成的字符串 解决的题型: 给你两个字符串A,B(A.size()=n,B.size()=m),求p数组 p[i]表示最大的len使得A[i,i+len-1]=B[1,len] 即A的第i位与B前缀的最大匹配的长度 比如; A:a 阅读全文
posted @ 2024-09-02 19:03 Green&White 阅读(6) 评论(0) 推荐(1) 编辑
摘要: 前置知识:字符串hash 我们定义一个字符串s的hash值为: \[\begin{aligned} \sum _ {i = 1} ^ n s[i] \times p1 ^ {(n-i)}\end{aligned} \]其中n是字符串的长度,i从1~n(下标从1开始),p1是一个稍微大一点的质数 co 阅读全文
posted @ 2024-09-02 16:48 Green&White 阅读(57) 评论(0) 推荐(1) 编辑