307765: CF1411E. Poman Numbers

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Poman Numbers

题意翻译

有一个小写字符串 $S$,长度为$n$。 定义对一个小写字符的函数 $pos(x)=x-\text a$ 如 pos('a')=0,pos('z')=25。 定义作用于字符串的函数 $$f(S)=\begin{cases}2^{pos(S[1])}, & |S|=1,\\-f(S[1,m])+f(S[m+1,|S|]), & \text{otherwise}\end{cases}$$ 其中 $m$ 是自己在每一步运算中定义的任意整数,满足 $m \in [1,|S|-1]$ 给你长度为 $n$ 的字符串 $S$ ,问你能不能通过构造每一步中合适的 $m$ ,最终使 $f(1,n)=T$。

题目描述

You've got a string $ S $ consisting of $ n $ lowercase English letters from your friend. It turned out that this is a number written in poman numerals. The poman numeral system is long forgotten. All that's left is the algorithm to transform number from poman numerals to the numeral system familiar to us. Characters of $ S $ are numbered from $ 1 $ to $ n $ from left to right. Let's denote the value of $ S $ as $ f(S) $ , it is defined as follows: - If $ |S| > 1 $ , an arbitrary integer $ m $ ( $ 1 \le m < |S| $ ) is chosen, and it is defined that $ f(S) = -f(S[1, m]) + f(S[m + 1, |S|]) $ , where $ S[l, r] $ denotes the substring of $ S $ from the $ l $ -th to the $ r $ -th position, inclusively. - Otherwise $ S = c $ , where $ c $ is some English letter. Then $ f(S) = 2^{pos(c)} $ , where $ pos(c) $ is the position of letter $ c $ in the alphabet ( $ pos( $ a $ ) = 0 $ , $ pos( $ z $ ) = 25 $ ). Note that $ m $ is chosen independently on each step. Your friend thinks it is possible to get $ f(S) = T $ by choosing the right $ m $ on every step. Is he right?

输入输出格式

输入格式


The first line contains two integers $ n $ and $ T $ ( $ 2 \leq n \leq 10^5 $ , $ -10^{15} \leq T \leq 10^{15} $ ). The second line contains a string $ S $ consisting of $ n $ lowercase English letters.

输出格式


Print "Yes" if it is possible to get the desired value. Otherwise, print "No". You can print each letter in any case (upper or lower).

输入输出样例

输入样例 #1

2 -1
ba

输出样例 #1

Yes

输入样例 #2

3 -7
abc

输出样例 #2

No

输入样例 #3

7 -475391
qohshra

输出样例 #3

Yes

说明

In the second example, you cannot get $ -7 $ . But you can get $ 1 $ , for example, as follows: 1. First choose $ m = 1 $ , then $ f( $ abc $ ) = -f( $ a $ ) + f( $ bc $ ) $ 2. $ f( $ a $ ) = 2^0 = 1 $ 3. $ f( $ bc $ ) = -f( $ b $ ) + f( $ c $ ) = -2^1 + 2^2 = 2 $ 4. In the end $ f( $ abc $ ) = -1 + 2 = 1 $

Input

题意翻译

有一个小写字符串 $S$,长度为$n$。 定义对一个小写字符的函数 $pos(x)=x-\text a$ 如 pos('a')=0,pos('z')=25。 定义作用于字符串的函数 $$f(S)=\begin{cases}2^{pos(S[1])}, & |S|=1,\\-f(S[1,m])+f(S[m+1,|S|]), & \text{otherwise}\end{cases}$$ 其中 $m$ 是自己在每一步运算中定义的任意整数,满足 $m \in [1,|S|-1]$ 给你长度为 $n$ 的字符串 $S$ ,问你能不能通过构造每一步中合适的 $m$ ,最终使 $f(1,n)=T$。

加入题单

上一题 下一题 算法标签: