CF1609E.William The Oblivious
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Before becoming a successful trader William got a university degree. During his education an interesting situation happened, after which William started to listen to homework assignments much more attentively. What follows is a formal description of the homework assignment as William heard it:
You are given a string s of length n only consisting of characters "a", "b" and "c". There are q queries of format ( pos,c ), meaning replacing the element of string s at position pos with character c . After each query you must output the minimal number of characters in the string, which have to be replaced, so that the string doesn't contain string "abc" as a subsequence. A valid replacement of a character is replacing it with "a", "b" or "c".
A string x is said to be a subsequence of string y if x can be obtained from y by deleting some characters without changing the ordering of the remaining characters.
输入格式
The first line contains two integers n and q (1≤n,q≤105) , the length of the string and the number of queries, respectively.
The second line contains the string s , consisting of characters "a", "b" and "c".
Each of the next q lines contains an integer i and character c (1≤i≤n) , index and the value of the new item in the string, respectively. It is guaranteed that character's c value is "a", "b" or "c".
输出格式
For each query output the minimal number of characters that would have to be replaced so that the string doesn't contain "abc" as a subsequence.
输入输出样例
输入#1
9 12 aaabccccc 4 a 4 b 2 b 5 a 1 b 6 b 5 c 2 a 1 a 5 a 6 b 7 b
输出#1
0 1 2 2 1 2 1 2 2 2 2 2
说明/提示
Let's consider the state of the string after each query:
- $s = $ "aaaaccccc". In this case the string does not contain "abc" as a subsequence and no replacements are needed.
- $s = $ "aaabccccc". In this case 1 replacements can be performed to get, for instance, string $s = $ "aaaaccccc". This string does not contain "abc" as a subsequence.
- $s = $ "ababccccc". In this case 2 replacements can be performed to get, for instance, string $s = $ aaaaccccc". This string does not contain "abc" as a subsequence.
- $s = $ "ababacccc". In this case 2 replacements can be performed to get, for instance, string $s = $ "aaaaacccc". This string does not contain "abc" as a subsequence.
- $s = $ "bbabacccc". In this case 1 replacements can be performed to get, for instance, string $s = $ "bbacacccc". This string does not contain "abc" as a subsequence.
- $s = $ "bbababccc". In this case 2 replacements can be performed to get, for instance, string $s = $ "bbacacccc". This string does not contain "abc" as a subsequence.
- $s = $ "bbabcbccc". In this case 1 replacements can be performed to get, for instance, string $s = $ "bbcbcbccc". This string does not contain "abc" as a subsequence.
- $s = $ "baabcbccc". In this case 2 replacements can be performed to get, for instance, string $s = $ "bbbbcbccc". This string does not contain "abc" as a subsequence.
- $s = $ "aaabcbccc". In this case 2 replacements can be performed to get, for instance, string $s = $ "aaacccccc". This string does not contain "abc" as a subsequence.
- $s = $ "aaababccc". In this case 2 replacements can be performed to get, for instance, string $s = $ "aaacacccc". This string does not contain "abc" as a subsequence.
- $s = $ "aaababccc". In this case 2 replacements can be performed to get, for instance, string $s = $ "aaacacccc". This string does not contain "abc" as a subsequence.
- $s = $ "aaababbcc". In this case 2 replacements can be performed to get, for instance, string $s = $ "aaababbbb". This string does not contain "abc" as a subsequence.