AT_abc455_f [ABC455F] Merge Slimes 2

题目描述

有一个长度为 $N$ 的非负整数序列 $A$,初始时所有元素均为 $0$。现有 $Q$ 个操作,按照顺序依次处理。 对于第 $q$ 个操作,给定整数 $l_q, r_q$,满足 $1 \leq l_q \leq r_q \leq N$,以及一个正整数 $a_q$。请按如下步骤依次进行: - 对 $A_{l_q}, A_{l_q+1}, \dots, A_{r_q}$ 中的每个元素都加上 $a_q$。 - 然后,令 $M = r_q - l_q + 1$,设 $B = (B_1, B_2, \dots, B_M) = (A_{l_q}, A_{l_q+1}, \dots, A_{r_q})$,请解答以下问题: > 有 $M$ 个史莱姆,第 $m$ 个史莱姆的重量为 $B_m$。 > 一共进行 $M-1$ 次操作,每次操作选择两个史莱姆合并。 > 当合并重量为 $x$ 和 $y$ 的两个史莱姆时,会出现一个重量为 $x+y$ 的新史莱姆,原来的两个史莱姆消失,花费为 $x \times y$。 > 请计算这 $M-1$ 次合并的最小可能总代价,并对 $998244353$ 取模。 注意,序列 $A$ 在每次操作中的变化会影响后续操作。

输入格式

输入从标准输入读入,格式如下: > $N$ $Q$ > $l_1$ $r_1$ $a_1$ > $l_2$ $r_2$ $a_2$ > $\vdots$ > $l_Q$ $r_Q$ $a_Q$

输出格式

共输出 $Q$ 行,第 $q$ 行输出第 $q$ 个操作的答案。

说明/提示

### 样例解释 1 第一次操作后,$A = (22, 22, 22, 0, 0)$,$B = (22, 22, 22)$。如果先合并第一个和第三个史莱姆,花费 $22 \times 22 = 484$,再合并剩下的两个,花费 $22 \times 44 = 968$,总代价为 $484 + 968 = 1452$,且无法得到更小的总花费。 第二次操作后,$A = (22, 22, 35, 13, 0)$,$B = (35, 13)$,答案为 $35 \times 13 = 455$。 ### 数据范围 - $1 \leq N \leq 10^5$ - $1 \leq Q \leq 10^5$ - $1 \leq l_q \leq r_q \leq N$ - $1 \leq a_q \leq 10^9$ - 所有输入均为整数。 由 ChatGPT 5 翻译