「Nhk R2」链上之链
题号:NC259933
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给出一个序列,序列中的元素为一个个的单链,每个元素的链上结点编号独立。请支持以下操作:

  • \texttt{0 x}:删除第 x 个元素,后面的元素前移补齐该位置;
  •  \texttt{1 x k c1 c2 c3 ...}:在第 x 个元素后添加一个元素, 链长度为 k , 链上的值为 c_1,c_2,c_2,<br />  \dots
  •  \texttt{2 x l r y}:将元素 x 的第 l 个结点到第 r 个结点的权值变为 y
  •  \texttt{3 l r}:将元素 lr 的长度(设该元素的长度为 L)变为 \lceil\frac{L}{2}\rceil

每次操作后,把相邻元素的编号为 1 结点用一条边连接起来构成一个图,求图中的最长链,该询问独立于其他操作,且可以不选择任何一个结点

输入描述:

第一行输入两个数 n,m 表示初始序列链数和操作个数。

接下来 n 行每行先有一个数 k,表示第 i 条链的长度,接下来有 k 个数,表示这条链上每个点的权值。

加下来 m 行,每行表示一个操作。

输出描述:

对于初始序列以及每次操作后,输出询问答案。
示例1

输入

复制
4 4
3 1 3 2
2 3 4
4 3 5 4 1
1 1
0 4
1 1 3 5 3 6
2 2 2 3 4
3 1 5

输出

复制
22
22
30
29
20
示例2

输入

复制
1 1
3 -100 -100 -100
2 1 2 2 4

输出

复制
0
4
示例3

输入

复制
4 4
3 1 3 2
2 3 4
4 3 5 4 1
1 1
0 4
1 1 3 5 3 6
2 2 2 3 4
3 1 5

输出

复制
22
22
30
29
20
示例4

输入

复制
1 1
3 -100 -100 -100
2 1 2 2 4

输出

复制
0
4

备注:

N 为当前序列中的元素个数。保证所有链的长度之和小于等于 2\times10^{5},且对于所有有形如 `x` 变量的操作,满足 1\leqslant x\leqslant N,对于所有有形如 `l r` 变量的操作,满足 1\leqslant l\leqslant r\leqslant N

对于所有测试点,n\le10^{5} , m\le10^{5} , \sum k\le 10^{5}