CF1886D.Monocarp and the Set

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Monocarp has nn numbers 1,2,,n1, 2, \dots, n and a set (initially empty). He adds his numbers to this set nn times in some order. During each step, he adds a new number (which has not been present in the set before). In other words, the sequence of added numbers is a permutation of length nn .

Every time Monocarp adds an element into the set except for the first time, he writes out a character:

  • if the element Monocarp is trying to insert becomes the maximum element in the set, Monocarp writes out the character >;
  • if the element Monocarp is trying to insert becomes the minimum element in the set, Monocarp writes out the character <;
  • if none of the above, Monocarp writes out the character ?.

You are given a string ss of n1n-1 characters, which represents the characters written out by Monocarp (in the order he wrote them out). You have to process mm queries to the string. Each query has the following format:

  • ii cc — replace sis_i with the character cc .

Both before processing the queries and after each query, you have to calculate the number of different ways to order the integers 1,2,3,,n1, 2, 3, \dots, n such that, if Monocarp inserts the integers into the set in that order, he gets the string ss . Since the answers might be large, print them modulo 998244353998244353 .

输入格式

The first line contains two integers nn and mm ( 2n31052 \le n \le 3 \cdot 10^5 ; 1m31051 \le m \le 3 \cdot 10^5 ).

The second line contains the string ss , consisting of exactly n1n-1 characters <, > and/or ?.

Then mm lines follow. Each of them represents a query. Each line contains an integer ii and a character cc ( 1in11 \le i \le n-1 ; cc is either <, >, or ?).

输出格式

Both before processing the queries and after each query, print one integer — the number of ways to order the integers 1,2,3,,n1, 2, 3, \dots, n such that, if Monocarp inserts the integers into the set in that order, he gets the string ss . Since the answers might be large, print them modulo 998244353998244353 .

输入输出样例

  • 输入#1

    6 4
    <?>?>
    1 ?
    4 <
    5 <
    1 >
    

    输出#1

    3
    0
    0
    0
    1
  • 输入#2

    2 2
    >
    1 ?
    1 <
    

    输出#2

    1
    0
    1

说明/提示

In the first example, there are three possible orderings before all queries:

  • 3,1,2,5,4,63, 1, 2, 5, 4, 6 ;
  • 4,1,2,5,3,64, 1, 2, 5, 3, 6 ;
  • 4,1,3,5,2,64, 1, 3, 5, 2, 6 .

After the last query, there is only one possible ordering:

  • 3,5,4,6,2,13, 5, 4, 6, 2, 1 .
首页