摘要: 题意 题解 可以考虑转化到 KMP 相关问题。 KMP 的常规匹配是看当前字符位是否相同,而本题可以改为当前字符和前一个相同字符的距离是否相同,因为这样的字符串经过反转之后一定能变成相同的。 当前字符到前一个相同字符的距离 \(pre_i\) 数组可以预处理。 注意:当与前一个相同字符的距离大于当前 阅读全文
posted @ 2021-09-17 17:50 conprour 阅读(56) 评论(1) 推荐(1) 编辑
摘要: KMP 的灵活运用 阅读全文
posted @ 2021-09-17 14:55 conprour 阅读(159) 评论(5) 推荐(4) 编辑
摘要: 题意 题解 很水的题啊。 不难想到对于每一个人当作点连边,如果一个人第一次出现就新建一个点。 然后求出每两个点之间的最短路,取最大值,特判是否不连通。 判断一个人是否出现过可以用 Hash,但是感觉 Hash 之后还要开 map 记录数值,干脆直接开map<string,int>. 所以为什么有这篇 阅读全文
posted @ 2021-09-17 10:27 conprour 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 题意 根据一个递推式不断求出元素,判断这个数出没出现过。 题解 以前只写过邻接表的哈希表,没写过链前的哈希表,贴一下代码。 代码 #include<bits/stdc++.h> using namespace std; #define ll long long const int INF = 0x3 阅读全文
posted @ 2021-09-17 08:45 conprour 阅读(37) 评论(1) 推荐(1) 编辑
摘要: 题意 现在小泽的手上有 n 道难题,编号分别为 1∼n ,第 i 道题的难度系数是 ai 。 小泽想用这些题出比赛,他会把题目按照编号划分为若干个非空连续区间,每个区间对应了一场比赛。 特别的,如果某场比赛的题目难度系数之和超过了给定的常数 m ,这场比赛会过于毒瘤,所以他不希望出现这样的情况。 定 阅读全文
posted @ 2021-09-17 07:58 conprour 阅读(60) 评论(0) 推荐(1) 编辑