主播想要练习一下,故花了两个小时模拟了一下23级的C7赛
特意买了个学校机房同款包浆古董慢回弹键盘

A 选择题
第1题
KMP算法的提出者是哪几位___。
- A. D.E.Knuth
- B. J.H.Morris
- C. V.R.Pratt
- D. htunK.E.D
- E. sirroM.H.J
- F. ttarP.R.V
主播想要练习一下,故花了两个小时模拟了一下23级的C7赛
特意买了个学校机房同款包浆古董慢回弹键盘

第1题
KMP算法的提出者是哪几位___。
发现发题解能加平时分,之前都没有交过,最后一次赶紧水两道题,防止我的期末挂挂~
题目描述
在植物理想国中有很多种类的仙人掌(Cactus),例如「可爱仙人掌」(Cutetus),「拐弯抹角仙人掌」(Pointless Cactus)。
下面将给出 $n$ ($1 \le n \le 1000$)个名字(一个名字由若干个单词组成,单词是指由空格分割的字符串),Yuki 想知道其中哪些名字是仙人掌的名字。
由于 Yuki 对仙人掌并不熟悉,所以只能认为名字中有至少一个单词满足以下至少一个条件的,都是仙人掌:
cac 开头(不区分大小写)tus 结尾(不区分大小写)cactus 作为子串(不区分大小写)例如,Cattus 是「仙喵掌」,当然是仙人掌,但 Tree Tree 是「好多树」,不是仙人掌。
输入描述
输入包含不定的若干行(不超过 $1000$ 行),每一行一个字符串(仅包含大写字母,小写字母,空格或连字符)表示一个植物的名字。
形式化的来说,大写字母是指 ASCII 码在 $[65, 90]$ 之间的字符(A-Z);小写字母是指 ASCII 码在 $[97, 122]$ 之间的字符(a-z);空格是 ASCII 码为 $32$ 的字符( );连字符是 ASCII 码为 $45$ 的字符(-);单词是指由空格分割的字符串。
输出描述
输出一个正整数,表示有多少个植物是仙人掌。
我的算法资料开源仓库:https://github.com/lixu10/algorithm-template
上课的英文PPT这的看不懂(中文我都不一定看的懂),用AI按章节转成了说人话版(仅保留算法核心部分):算法PPT按章节总结.pdf
自己结合学长板子、AI、自己代码,写了一套非常完整的板子,包含所有课上算法、常用算法等(与这篇文章下面内容相同)。下载:板子ver5.pdf
Recommend:
ACM算法模板(吉林大学).pdf
算法模板.md
C STL超全汇总-2023.12.11.pdf
Acwing代码总结
算法选择题复习.pdf
算法模板 (1).md
模板.pdf
算法板子 - Rainel
C++算法板子积累 - OnlyAR
以下为我自己的代码模板:
再也不想上机的时候手写堆了。
万能头:
#include <bits/stdc++.h>动态数组,可以变长。
头文件:
#include <vector>// 一维
vector<int> a; // <>里面写数据类型
vector<int> v(n); // 指定长度为n,初始值均为0
vector<int> v(n, 114514); // 指定长度为n、初始值都是n-1
vector<int> a{1,2,3,4,5}; // 初始化,数组长度为5
// 拷贝初始化
vector<int> a(n, 1);
vector<int> b(a); // b也是长度为n、初始值为1的数组
vector<int> c = a; // 另一种拷贝初始化方法
// 二维
vector<int> v[5]; // 第一维固定长度5,第二位可变长
vector<vector<int>> v; // 二维长度均可变,可以直接push_back进去一个数组
vector<vector<int>> a(n, vector<int>(n, 0)); // 行列均长度n且初始值为0 题目描述
Yuki 有一个无向图,这个无向图有 $n$ 个点和 $m$ 条边,Yuki 希望知道这个无向图有多少个不同的连通块?
两个连通块不同,当且仅当两连通块的点集不同。
输入
第一行包含两个正整数 $n$ 和 $m$($1 \le n, m \le 10^6$),分别表示无向图的点数和边数。
接下来 $m$ 行,每行包含两个整数 $u$ 和 $v$($1 \le u, v \le n$),表示编号为 $u$ 和 $v$ 的点之间有一条无向边。
输出
输出一行,表示该无向图的连通块数量。
输入样例
6 3
1 2
2 3
4 5输出样例
3