U215418 「MCOI-01 / AC7-M16」 Last Hope

题目背景

[大样例下载](https://www.luogu.com.cn/problem/U124443) ~~最恶心的一题给了最恶心的一关,毒瘤 M16 /tuu~~

题目描述

给三个长度为 $n$ 的整数序列 $a,b,c$,$m$ 次询问,每一次给一个序列中的一个区间乘上一个整数,或者给一个区间 $[l,r]$,求满足 $i\in [l,r]$ 的所有关于 $x$ 的方程 $$(a_i\bmod 5015207)x^2+(b_i\bmod 5015207)x+(c_i\bmod 5015207)=0$$ 的所有根(**包括虚根**)的和,分别输出实部模 $5015207$ 的结果和虚部系数模 $5015207$ 的结果。 **$5015207$ 是质数。** **$(x-1)^2=0$ 算作有两个根 $x_1=x_2=1$,但是 $x-1=0$ 算作只有一个根 $x=1$。** 如果有无穷多个根则仅输出 `Infinity`,**保证在不为 `Infinity` 的时候结果在模 $5015207$ 意义下有意义**。

输入格式

第一行两个整数 $n,m$,分别表示序列长度和操作次数。 第二行 $n$ 个整数,表示序列 $a$。 第三行 $n$ 个整数,表示序列 $b$。 第四行 $n$ 个整数,表示序列 $c$。 接下来 $m$ 行,每行一个操作: - `1 id l r v` - 如果 $id=0$,则将 $a_l, a_{l+1},a_{l+2},\cdots, a_r$ 乘上 $v$; - 如果 $id=1$,则将 $b_l, b_{l+1},b_{l+2},\cdots, b_r$ 乘上 $v$; - 如果 $id=2$,则将 $c_l, c_{l+1},c_{l+2},\cdots, c_r$ 乘上 $v$。 - `2 l r`,表示在 $[l,r]$ 内查询所有上述形式的方程的根的和。

输出格式

对于每一个 $2$ 操作,输出一行两个整数,用空格分隔,分别表示实部模 $5015207$ 的结果和虚部系数模 $5015207$ 的结果。

说明/提示

**样例说明** 第一次询问操作时,所有方程都是 $x^2+2x+1=0$,根的和为 $-10+0\rm i$,取模之后得到 $5015197$ 和 $0$。 第二次询问操作时,所有方程都是 $2x+1=0$,根的和为 $-\dfrac{5}{2}+0\rm i$,取模之后得到 $2507601$ 和 $0$。 **数据范围与约定** **本题采用捆绑测试。** - Subtask 1(20 pts):$n,m \le 3 \times 10^3$,时限 1s。 - Subtask 2(10 pts):$a,b,c,v \ge 1$,无修改操作,时限 5s。 - Subtask 3(15 pts):无修改操作,时限 5s。 - Subtask 4(15 pts):$a,b,c,v \ge 1$,时限 5s。 - Subtask 5(40 pts):无特殊限制,时限 5s。 对于 $100\%$ 的数据,有: - $1\leq n,m\leq 3\times 10^5$; - $0\leq a_i, b_i, c_i, v< 5015207$; - $1\leq l\leq r\leq n$; - $0\leq id\leq 2$。 **本题强制开启 $O2$ 优化。** #### 提示 - 如果您不懂什么是虚根和虚数,请访问 [**OI-Wiki 复数**](https://oi-wiki.org/math/complex/#_1) 或 [**百度百科 虚数**](https://baike.baidu.com/item/%E8%99%9A%E6%95%B0/107344?fr=aladdin) 以了解相关内容。~~现学人教版高中数学 A 版选修 2-2 也行~~ - **读入量较大,请采用适当的读入方式。** #### 说明 Minecraft OI Round 1 B - Idea:ClCN - Solution/Std:ClCN - Data:ClCN - Tester:tarjin