贴一下我的做法 int main() { int n, k; string str; cin >> n >> k; cin >> str; ull res = 0; int cnt[128] = {0}; int kind = 0; for (char c : str) { cnt[c]++; if (cnt[c] == 1){ kind++; } } for (int i = 0, j = 0; i < n; i++) { char c = str[i]; cnt[c]--; if (cnt[c] == 0) { kind--; } while(j <= i &;&; kind < k) { cnt[str[j]]++; if (cnt[str[j]] == 1) { kind++; } j++; } res += i - j + 1; } cout << res << endl; return 0; }

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务