网站首页 站内搜索

搜索结果

查询Tags标签: nxt,共有 36条记录
  • 【Luogu P3426】[POI2005]SZA-Template

    链接: 洛谷 题目大意: 给定一个字符串 \(s\),找到最小的 \(t\) 使得 \(t\) 匹配的位置能覆盖 \(s\)。 思路: \(t\) 一定是 \(s\) 的一个前后缀(\(s\) 也算),考虑 DP。设 \(f_i\) 表示前缀 \(i\) 的答案,那么 \(f_i\) 要么是 \(i\),要么是 \(f_{\mathrm{border}(i…

    2021/11/20 6:11:33 人评论 次浏览
  • KMP算法

    KMP算法: KMP字符串匹配算法 - 王陸 - 博客园 (cnblogs.com) int nxt[100]; 获得nxt数组(nxt[j]表示当匹配到j失败是跳转到nxt[j]位置) int j = 0, k = -1, len = s.length(); nxt[0] = -1; while (j < len) {if (k == -1 || s[j] == s[k]){j++; k++;nxt[j] = k;}el…

    2021/11/11 12:10:11 人评论 次浏览
  • KMP算法

    KMP算法: KMP字符串匹配算法 - 王陸 - 博客园 (cnblogs.com) int nxt[100]; 获得nxt数组(nxt[j]表示当匹配到j失败是跳转到nxt[j]位置) int j = 0, k = -1, len = s.length(); nxt[0] = -1; while (j < len) {if (k == -1 || s[j] == s[k]){j++; k++;nxt[j] = k;}el…

    2021/11/11 12:10:11 人评论 次浏览
  • 题解 P6018 [Ynoi2010] Fusion tree

    发现每个点距离为 \(1\) 的节点就是儿子或者父亲,因此可以把儿子和父亲分开来算。 计算父亲是很容易的,直接维护 \(a\) 的值。对于操作 \(1\) ,在父亲上标记就行了,表示这个点进行过几次的操作 \(1\)。 对于每个节点维护儿子,就会发现是要维护:单点加入、单点删除、…

    2021/10/28 23:17:29 人评论 次浏览
  • 题解 P6018 [Ynoi2010] Fusion tree

    发现每个点距离为 \(1\) 的节点就是儿子或者父亲,因此可以把儿子和父亲分开来算。 计算父亲是很容易的,直接维护 \(a\) 的值。对于操作 \(1\) ,在父亲上标记就行了,表示这个点进行过几次的操作 \(1\)。 对于每个节点维护儿子,就会发现是要维护:单点加入、单点删除、…

    2021/10/28 23:17:29 人评论 次浏览
  • 主席树学习笔记

    主席树 主席树,又称可持久化线段树,主要思想在线段树上加上一些历史节点去维护一些历史数据,实现对过去数据的查询。 去盗了一张图途中橙色的节点维护的就是历史数据。 主席树的用处 引用大佬的一段话: 主席树就是利用函数式编程的思想来使线段树支持询问历史版本、同…

    2021/8/29 23:09:38 人评论 次浏览
  • 主席树学习笔记

    主席树 主席树,又称可持久化线段树,主要思想在线段树上加上一些历史节点去维护一些历史数据,实现对过去数据的查询。 去盗了一张图途中橙色的节点维护的就是历史数据。 主席树的用处 引用大佬的一段话: 主席树就是利用函数式编程的思想来使线段树支持询问历史版本、同…

    2021/8/29 23:09:38 人评论 次浏览
  • 新疆省赛A.A. chino with string(AC自动机+广义矩阵快速幂)

    前置知识: [TJOI2012]可乐 广义矩阵快速幂 AC自动机 #include<bits/stdc++.h> using namespace std; const int maxn=1010; typedef long long ll; int nxt[maxn][26],fail[maxn]; ll c[maxn]; int tot=1,rt=1,n,m; void ins (string s,int x) {int u=rt;for (char…

    2021/8/27 23:10:47 人评论 次浏览
  • 新疆省赛A.A. chino with string(AC自动机+广义矩阵快速幂)

    前置知识: [TJOI2012]可乐 广义矩阵快速幂 AC自动机 #include<bits/stdc++.h> using namespace std; const int maxn=1010; typedef long long ll; int nxt[maxn][26],fail[maxn]; ll c[maxn]; int tot=1,rt=1,n,m; void ins (string s,int x) {int u=rt;for (char…

    2021/8/27 23:10:47 人评论 次浏览
  • [CF1004F] Sonya and Bitwise OR

    \(\text{Problem}:\)Sonya and Bitwise OR \(\text{Solution}:\) 分析一下 OR 的性质。对于左端点 \(l\) 固定的区间,其前缀至多只会有 \(\lceil \log_{2}V\rceil\) 个不同的取值,且每种取值都是连续的。当右端点固定时也是同理。 那么对于每个区间 \([l,r]\),维护其前…

    2021/8/26 23:08:14 人评论 次浏览
  • [CF1004F] Sonya and Bitwise OR

    \(\text{Problem}:\)Sonya and Bitwise OR \(\text{Solution}:\) 分析一下 OR 的性质。对于左端点 \(l\) 固定的区间,其前缀至多只会有 \(\lceil \log_{2}V\rceil\) 个不同的取值,且每种取值都是连续的。当右端点固定时也是同理。 那么对于每个区间 \([l,r]\),维护其前…

    2021/8/26 23:08:14 人评论 次浏览
  • KMP

    一、模式串匹配 模式串匹配,即给定一个文本串 \(A\) 和一个模式串 \(B\),询问 \(B\) 在 \(A\) 中是否出现、出现的次数及每次出现的位置等。通常数据范围为 \(1\le|A|,|B|\le10^6\)。 显然,我们可以枚举 \(A\) 的下标 \(i\),对于每一个 \(i\),都尝试用 \(B\) 去匹配(…

    2021/8/25 23:10:25 人评论 次浏览
  • KMP

    一、模式串匹配 模式串匹配,即给定一个文本串 \(A\) 和一个模式串 \(B\),询问 \(B\) 在 \(A\) 中是否出现、出现的次数及每次出现的位置等。通常数据范围为 \(1\le|A|,|B|\le10^6\)。 显然,我们可以枚举 \(A\) 的下标 \(i\),对于每一个 \(i\),都尝试用 \(B\) 去匹配(…

    2021/8/25 23:10:25 人评论 次浏览
  • 剪花布条(KMP

    #include<bits/stdc++.h> using namespace std;const int N=2e5+10; vector<int> nxt;string s,t; int n;int ans=0,pre=-1;vector<int> getnxt(string s) {int n = (int)s.length();vector<int> pi(n);for (int i = 1; i < n; i++) {int j = …

    2021/8/6 23:05:52 人评论 次浏览
  • 剪花布条(KMP

    #include<bits/stdc++.h> using namespace std;const int N=2e5+10; vector<int> nxt;string s,t; int n;int ans=0,pre=-1;vector<int> getnxt(string s) {int n = (int)s.length();vector<int> pi(n);for (int i = 1; i < n; i++) {int j = …

    2021/8/6 23:05:52 人评论 次浏览
扫一扫关注最新编程教程