题目名称 | 2673. [HAOI 2017]字符串 |
---|---|
输入输出 | problemb.in/out |
难度等级 | ★★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | mouse 于2017-04-25加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:8, 提交:46, 通过率:17.39% | ||||
荡漾 | 100 | 0.911 s | 181.13 MiB | C++ |
荡漾 | 100 | 0.919 s | 181.13 MiB | C++ |
宋逸群 | 100 | 1.749 s | 225.39 MiB | C++ |
宋逸群 | 100 | 1.823 s | 225.39 MiB | C++ |
FoolMike | 100 | 2.021 s | 182.28 MiB | C++ |
gzz | 100 | 2.517 s | 181.51 MiB | C++ |
Lx | 100 | 3.733 s | 156.34 MiB | C++ |
Lx | 100 | 3.796 s | 156.34 MiB | C++ |
荡漾 | 90 | 0.663 s | 90.77 MiB | C++ |
rejudge | 80 | 2.842 s | 0.70 MiB | C++ |
关于 字符串 的近10条评论(全部评论) |
---|
给出一个字符串 $s$ 和 $n$ 个字符串 $p_i$,求每个字符串 $p_i$ 在 $s$ 中出现的次数。注意这里两个字符串相等的定义稍作改变。
给定一个常数 $k$,对于两个字符串 $a,b$,如果 $a=b$,那么满足:
一、$|a| = |b|$
二、对于所有 $a_i \neq b_i$ 以及 $a_j \neq b_j$,满足 $|i-j| < k$
如果$|a| = |b| \leq k$,那么认为 $a=b$。
第一行一个整数 $k$。
第二行一个字符串 $s$。
第三行一个整数 $n$,接下来 $n$ 行每行一个字符串表示 $p_i$。
所有的字符 ASCII 码在 33 至 126 之间。
输出 $n$ 行,表示每个 $p_i$ 在 $s$ 中出现的次数。
1 xyz 3 xz y xzy
2 3 0
对于 $p_1$,$xz=xy,xz=yz$,因为都只有一个位置差异。
对于 $p_2$,$y=x,y=y,y=z$,同理。
对于 $p_3$,$xzy \neq xyz$,最大差 $=1$ 不满足 $<k=1$。
对于 20% 的数据,满足:$|s|, \sum |p_i| \leq 10^3$
对于另外 20% 的数据,满足:$n\leq 100$
对于另外 20% 的数据,满足:$|s|, \sum |p_i| \leq 5 \times 10^4$
对于 100% 的数据,满足:$|s|, \sum |p_i| \leq 2 \times 10^5$
HAOI 2017