专栏文章

题解:P1787 [入门赛 #22] 非众数 Hard Version

P1787题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipz7quy
此快照首次捕获于
2025/12/03 20:21
3 个月前
此快照最后确认于
2025/12/03 20:21
3 个月前
查看原文

题意

给定一个长度为 nn 的字符串 ss,保证 ss 仅包含小写字母,求 ss 的非空子串中非众数串的个数。

思路

解决这个问题有许多方法,如树状数组或前缀和,今天将滑动窗口或双指针的方法,结合哈希表来记录每个字符在当前窗口中的出现次数,从而判断当前窗口内的串是不是非众数。

具体的思路实现

首先遍历字符串 ss 的每一个可能的子串。建立一个计数器 ansansansans 的初值为零,对于每一个子串,使用一个数组来记录子串中每个字符的出现次数。检查当前子串中出现次数最多的字符的出现次数是否不超过子串长度的一半(注意,这里需要向下取整),如果是,则该子串满足条件,ansans 就加一,最后输出 ansans

评论

0 条评论,欢迎与作者交流。

正在加载评论...