已结束 【提高组】GESP“飞翔杯”第四届季度赛
← 上一题 下一题 →

A5253 | 模拟器

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

定义: 第五分块


这是一个数据结构问题。

给定整数 $n,m$ ,以及长度 $n$ 的序列 $x_1,\dots,x_n$ 和 $y_1,\dots,y_n$ ,共 $m$ 次操作。

需要维护序列 $s_1,\dots,s_n$ ,初值为0。

每次操作给出 $a,b,c,v$ 表示对 $ax_i+by_i+c<0$ 的每个 $i$ ,将 $s_i$ 修改为 $s_i+v$ ,然后查询被修改的 $s_i$ 的和。

要求 $1\le n\le 3\times 10^4,\;1\le m\le 1\times 10^5,\; 1\le x_i,y_i,a,b,c,v\le 10^9$ ,所有数值为整数。

输入格式为依次输入 $n,m,x_1,y_1,\dots,x_n,y_n$ ,然后依次输入每个操作的 $a,b,c,v$。

输出格式为对每个操作依次输出一个整数表示答案。

定义: 01矩阵乘法


$a,b,c$ 分别是 $n_1\times n_2,\;n_2\times n_3,\;n_1\times n_3$ 规模的由 $[0,1]$ 范围内的整数构成的矩阵,满足:

$c_{i,k}=\sum\limits_{j=1}^{n_2}a_{i,j}b_{j,k}$ 。

$a,b$ 矩阵中的元素在范围内独立均匀随机选取。

输入格式为依次输入 $n_1,n_2,n_3$ ,然后依次输入 $a$ 和 $b$ 矩阵。

输出格式为输出 $c$ 矩阵。

输入(输出)一个 $A\times B$ 规模的矩阵 $v$ 时,需要对 $i=1,\dots,A$ 依次输入(输出)$v_{i,1},\dots,v_{i,B}$ 。

你需要解决的问题


你需要编写一个程序,这个程序的输入为空,输出是一个由 指令 构成的程序,这个程序用于求解 01矩阵乘法 (需要按输入格式读若干个整数,最后按输出格式写若干个整数),且可以调用一次对 第五分块 的求解(对应的指令是特殊函数调用3,需要先按输入格式写若干个整数表示问题描述,调用后按输出格式读若干个整数得到答案)和若干次读写整数(对应的指令是特殊函数调用1,2)。

下发的库std.cpp)可以简化生成指令的过程,你可以基于下发的库编写程序。

下发的 模拟器chk.cpp)可以执行由指令构成的程序,并给出得分。

模拟器的编译运行方式可以参考下发的 makefile
C++ 编辑器
输入
输出