10 2023 档案
摘要:1、Trie树 以AcWing.835为例, 维护一个字符串集合,支持两种操作: “I x”向集合中插入一个字符串x;“Q x”询问一个字符串在集合中出现了多少次。共有N个操作,输入的字符串总长度不超过10^5,字符串仅包含小写英文字母。 输入格式第一行包含整数N,表示操作数。 接下来N行,每行包含
阅读全文
摘要:1、KMP 以AcWing.831为例, 给定一个模式串S,以及一个模板串P,所有字符串中只包含大小写英文字母以及阿拉伯数字。 模板串P在模式串S中多次作为子串出现。 求出模板串P在模式串S中所有出现的位置的起始下标。 输入格式第一行输入整数N,表示字符串P的长度。 第二行输入字符串P。 第三行输入
阅读全文
摘要:1、单调栈 以AcWing.830为例, 给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出−1。 输入格式第一行包含整数N,表示数列长度。 第二行包含N个整数,表示整数数列。 输出格式共一行,包含N个整数,其中第i个数表示第i个数的左边第一个比它小的数,如果不存在则输出−
阅读全文
摘要:1、单链表(静态链表) 以AcWing.826为例,题目要求如下: 实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数;删除第k个插入的数后面的数; 在第k个插入的数后插入一个数。 现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。 注意: 题目中第k个插入的数并不是
阅读全文
摘要:1、区间合并 以AcWing.803为例,题目要求如下: 给定n个区间 [li,ri],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3] 和 [2,6]可以合并为一个区间 [1,6]。 输入格式第一行包含整数 n。 接下来 n 行,每行包含
阅读全文