比赛场次 | 530 |
---|---|
比赛名称 | EYOI与SBOI开学欢乐赛14th |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2022-10-24 18:40:00 |
结束时间 | 2022-10-24 22:40:00 |
开放分组 | 全部用户 |
注释介绍 | 开学欢乐赛终结篇。 |
题目名称 | 逆元数列 |
---|---|
输入输出 | invarray.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
HeSn | AAAAAAAAAA | 2.567 s | 5.73 MiB | 100 |
ZRQ | AAAAAAAAAA | 3.766 s | 7.10 MiB | 100 |
yrtiop | AAAAAATTTT | 4.492 s | 5.27 MiB | 60 |
lihaoze | AWWWTEEEEE | 2.341 s | 6.42 MiB | 10 |
这是一道数据结构题。
给定质数 $p$ ,你需要维护一个长为 $n$ 的数列 $\{a_n\}$ ,有如下两种操作形式:
$1\ l\ r\ $,表示将 $a_l…a_r$ 的所有数变为其模 $p$ 的乘法逆元;
$2\ l\ r\ $,表示查询 $a_l…a_r$ 的和。
若整数 $b,p$ 互质,并且 $b|a$ (b能整除a),则存在一个整数 $x$ ,使得 $a/b≡a*x\ (mod\ p)$,我们称 $x$ 为 $b$ 模 $p$ 的乘法逆元(取模运算的乘法逆元)。
第一行三个整数 $n,m,p$。
第二行 $n$ 个数,表示初始的 $\{a_n\}$。
接下来 $m$ 行,每行三个整数 $opt,l,r$ ,表示一次操作,含义如上。 $opt∈\{1,2\}\ ,\ 1≤l≤r≤n$。
若干行,对于每一个操作$2$,输出查询的值。
4 2 5 1 2 3 4 1 1 3 2 1 4
10
输入输出样例2
初始: $\{1,2,3,4\}$
第一次操作后:$\{1,3,2,4\}$
对于 $20\%$ 数据,$1≤n,m≤10^2$;
对于 $40\%$ 数据,$1≤n,m≤10^3$;
对于 $100\%$ 数据,$1≤n,m≤10^5,p≤10^9+7\ ,\ 1≤a_i<p$;
$rsr$