A7048. 变成回文
编程题
普及-
知识点
题目描述
给定一个只含小写字母的字符串 $s$(长度为 $n$)以及一个整数 $k$。
你可以**恰好删除** $k$ 个字符(从任意位置删除),记删除后剩余串的长度为 $n-k$。
你可以**任意重排**剩余字符。请判断,是否存在一种删除方案,使得重排后可以得到一个回文串。
> **回文串**:正读与反读相同的字符串,例如
你可以**恰好删除** $k$ 个字符(从任意位置删除),记删除后剩余串的长度为 $n-k$。
你可以**任意重排**剩余字符。请判断,是否存在一种删除方案,使得重排后可以得到一个回文串。
> **回文串**:正读与反读相同的字符串,例如
"z"、"aaa"、"aba"、"abccba"。输入格式
第一行包含两个整数 $n,k$,表示字符串长度与需要删除的字符个数;
第二行包含一个长度为 $n$ 的字符串 $s$,仅包含小写字母 'a'$\sim$'z'。
第二行包含一个长度为 $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'
- $0 \le k < n$
- $s$ 仅含 'a'$\sim$'z'