传统题 1000ms 256MiB

华章

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

闲的没事写首歌

题目描述

一首歌由nn个段落,三种音符组成。(为了方便起见,我们把三种音符称作1,2,31,2,3)音符都分布在段落里。同时段落也被依次编号为1,2,3,......,n1,2,3,......,n

这首歌在创作之初,每个段落里只有一个音符。然而现在作曲家对这首歌不是那么的满意,他将对这首歌做出一些修改。

修改操作有三种,形式如下:

1:音符互换,作曲家会选择一个区间 [l,r][l,r] 和两种音符a,ba,b,对于每一个段落来说,如果它的编号在 l~r内,并且段落内的音符种类为 aa,那么该段落里音符种类变为 bb,如果段落内的音符种类为 bb,那么变为 aa

2:音符覆盖,作曲家会选择一个区间 [l,r][l,r] 和两种音符a,ba,b,对于所选段落,将其段落内所有aa音符转换为bb音符

3:音符变奏,作曲家会选择一个区间 [l,r][l,r] 和一种音符aa,将所选段落内aa音符数量翻倍

注意:如果所选区间内不存在音符a,那么关于音符a变化到音符b的操作都不会造成影响,b也同理。

现在你要回答的是,在作曲家每次修改后,他的歌曲里三种音符分别各出现了几次。答案对998244353取模

输入格式

第一行输入两个整数 n,m。

第二行输入n个数字,代表n个段落内初始的音符

接下来m行,先输入三个整数,l,r,opt表示所选区间为l~r操作种类为opt

若opt=1 ,则输入a,b表示进行音符互换

若opt=2,则输入a,b表示进行音符覆盖

若opt=3,则输入a表示音符变奏

输出格式

输出m行,一行三个数字,表示该操作后1,2,3类音符在整首歌中出现的次数,答案对998244353取模。

样例 #1

样例输入 #1

5 3
1 1 2 3 1
1 3 1 1 2
2 3 2 1 2
2 4 3 2

样例输出 #1

2 2 1
1 3 1
1 5 1

提示

1n,m105,1opt,a,b3,1lrn1≤n,m≤10^5,1≤opt,a,b≤3,1≤l≤r≤n。

2024暑期集训第四周周赛

未参加
状态
已结束
规则
ACM/ICPC
题目
7
开始于
2024-7-27 14:00
结束于
2024-7-27 18:00
持续时间
4 小时
主持人
参赛人数
37