CF1535D.Playoff Tournament
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
2k teams participate in a playoff tournament. The tournament consists of 2k−1 games. They are held as follows: first of all, the teams are split into pairs: team 1 plays against team 2 , team 3 plays against team 4 (exactly in this order), and so on (so, 2k−1 games are played in that phase). When a team loses a game, it is eliminated, and each game results in elimination of one team (there are no ties). After that, only 2k−1 teams remain. If only one team remains, it is declared the champion; otherwise, 2k−2 games are played: in the first one of them, the winner of the game " 1 vs 2 " plays against the winner of the game " 3 vs 4 ", then the winner of the game " 5 vs 6 " plays against the winner of the game " 7 vs 8 ", and so on. This process repeats until only one team remains.
For example, this picture describes the chronological order of games with k=3 :
Let the string s consisting of 2k−1 characters describe the results of the games in chronological order as follows:
- if si is 0, then the team with lower index wins the i -th game;
- if si is 1, then the team with greater index wins the i -th game;
- if si is ?, then the result of the i -th game is unknown (any team could win this game).
Let f(s) be the number of possible winners of the tournament described by the string s . A team i is a possible winner of the tournament if it is possible to replace every ? with either 1 or 0 in such a way that team i is the champion.
You are given the initial state of the string s . You have to process q queries of the following form:
- p c — replace sp with character c , and print f(s) as the result of the query.
输入格式
The first line contains one integer k ( 1≤k≤18 ).
The second line contains a string consisting of 2k−1 characters — the initial state of the string s . Each character is either ?, 0, or 1.
The third line contains one integer q ( 1≤q≤2⋅105 ) — the number of queries.
Then q lines follow, the i -th line contains an integer p and a character c ( 1≤p≤2k−1 ; c is either ?, 0, or 1), describing the i -th query.
输出格式
For each query, print one integer — f(s) .
输入输出样例
输入#1
3 0110?11 6 5 1 6 ? 7 ? 1 ? 5 ? 1 1
输出#1
1 2 3 3 5 4