luogu#P6588. 『JROI-1』 向量
『JROI-1』 向量
题目背景
前言:虽然 SCR 已经并入了 JROI,但作为 JROI 的负责人,我还是想要感谢一下 SCR 出题组的无私奉献。出于对出题人的敬意。我们不会在题目背景故事上做大的改动,只会添加小部分上下衔接的语句。
蒟蒻火锅正在煮,自然要打一盘游戏了。
小 L 是个喜欢打第五的初中生。这天他刚自学完了向量的基本运算,正在打第五时,他看着自己画出来的长短、方向各异的机关墙(他在玩疯眼),有了一个奇妙的想法。
题目描述
小 L 有 个向量 $\overrightarrow{a_1},\overrightarrow{a_2}\ldots\overrightarrow{a_n}$,他希望你能够帮他回答下面两个问题。
- 对于给定的 ,求出
- 对于给定的 ,求出
随着时间的推移,这些向量也会不断发生变化,小 L 希望你在发生变化后仍然能给出答案。
输入格式
第一行两个整数 ,分别代表向量个数和操作次数。
接下来 行,每行两个整数 ,第 行表示向量 。
接下来 行,每行首先有一个整数 表示操作序号,之后有若干个整数表示一次操作。一共有下面五种操作。
- 输入三个整数 ,将 加上 。
- 输入三个整数 ,将 减去 。
- 输入两个整数 ,将 修改为 。
- 输入两个整数 ,求 $\sum\limits_{i=l}^{r-1}\sum\limits_{j=i+1}^{r}\overrightarrow{a_i}\cdot\overrightarrow{a_j}$。
- 输入两个整数 ,求 $\sum\limits_{i=l}^{r-1}\sum\limits_{j=i+1}^{r}\overrightarrow{a_i}\oplus\overrightarrow{a_j}$。
输出格式
对于所有的第四和第五种操作,一行有一个整数,为这次操作的答案。
3 5
1 1
4 5
1 4
1 1 3 6
2 3 3 0
4 2 3
3 2 3
5 1 3
12
84
提示
样例 1 解释
前两次操作后三个向量分别为 ,之后询问结果为 。
下一次操作后三个向量分别为 ,询问结果为 $(4\times15-7\times12)+[4\times4-7\times(-2)]+[12\times4-15\times(-2)]=-24+30+78=84$
数据规模与约定
本题采用捆绑测试。
- Subtask 1 ( ):。
- Subtask 2 ( ):没有操作五。
- Subtask 3 ( ):无特殊要求。
对于 的数据,,,保证对于任意时刻的向量 ,满足 。
关于向量运算
对于向量 和常数 ,假定 的坐标表示分别为 :
- $\overrightarrow{a}+\overrightarrow{b}=(x_a+x_b,y_a+y_b)$
- $\overrightarrow{a}-\overrightarrow{b}=(x_a-x_b,y_a-y_b)$
- $\lambda\overrightarrow{a}=(\lambda x_a,\lambda y_a)$
- $\overrightarrow{a}\cdot\overrightarrow{b}=x_ax_b+y_ay_b$
- $\overrightarrow{a}\oplus\overrightarrow{b}=x_ay_b-x_by_a$