摘要:
期望时间复杂度 O(n + m),极限 $O(nm)$。 首先输出若干行,每行一个整数,按从小到大的顺序输出 $s_2$ 在 $s_1$ 中出现的位置。 最后一行输出 $\lvert s_2 \rvert$ 个整数,第 $i$ 个整数表示 $s_2$ 的长度为 $i$ 的前缀的最长 $borde 阅读全文
摘要:
比赛链接: https://codeforces.com/gym/102770 A. AD 2020 题目大意: 输入两个日期(日期范围是从 20000101 到 99991231),判断这两个日期及它们中间有多少个日期包含 202 这个子串。 思路: 预处理出每一个日期是否包含 202,然后做一个 阅读全文
摘要:
时间复杂度 $O(nlogn)$,建树、查询、修改。 区间第 $k$ 小值。 https://www.luogu.com.cn/problem/P3834 ``` #include using namespace std; using LL = long long; struct President 阅读全文
摘要:
查询复杂度:$O(logn)$ **区间修改,区间查询** ``` #include using namespace std; using LL = long long; struct SegmentTree{ struct node{ int l, r; LL sum, add; }; vecto 阅读全文
摘要:
比赛链接: https://ac.nowcoder.com/acm/contest/11185 A.Duplicate Strings 思路: 统计的是字母的数量,先存下字符串每个字母的数量,操作 1 就是将现有字母的数量乘上 $k + 1$,操作 2 输出 $c$ 的数量。 代码: #includ 阅读全文
摘要:
单调栈 阅读全文
摘要:
题目链接: https://www.acwing.com/problem/content/904/ 题目大意: 给定两个字符串,\(a\) 和 \(b\),现要将 \(a\) 变成 \(b\)。 可以进行的操作有: 1.将 \(a\) 中某个字符删除 2.在 \(a\) 的某个位置插入某个字符 3. 阅读全文