测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7048. 变成回文

编程题 普及-
知识点

题目描述

给定一个只含小写字母的字符串 $s$(长度为 $n$)以及一个整数 $k$。
你可以**恰好删除** $k$ 个字符(从任意位置删除),记删除后剩余串的长度为 $n-k$。
你可以**任意重排**剩余字符。请判断,是否存在一种删除方案,使得重排后可以得到一个回文串。

> **回文串**:正读与反读相同的字符串,例如 "z""aaa""aba""abccba"

输入格式

第一行包含两个整数 $n,k$,表示字符串长度与需要删除的字符个数;
第二行包含一个长度为 $n$ 的字符串 $s$,仅包含小写字母 'a'$\sim$'z'。

输出格式

若可以通过恰好删除 $k$ 个字符,使剩余字符能重排成回文,则输出 YES

否则输出 NO

输入输出样例

输入 #1
2 1
ab
输出 #1
YES
输入 #2
2 0
ab
输出 #2
NO
输入 #3
5 2
aaaab
输出 #3
YES

说明/提示

- $1 \le n \le 2\times 10^5$
- $0 \le k < n$
- $s$ 仅含 'a'$\sim$'z'
上一题 去做题 下一题