#luoguP10043. [CCPC 2023 北京市赛] 广播
[CCPC 2023 北京市赛] 广播
本题没有可用的提交语言。
题目描述
小 I 正在学习使用 Pytorch。这是一个非常热门的用于机器学习训练的 Python 库。
小 I 注意到,Pytorch 中对于张量运算有称作“广播”(broadcast)的机制。你可以认为张量是高维数组。对于一个 维张量 ,我们用长度为 的序列 表示其各个维度的长度,也就是说 是一个 的张量。
对于两个张量 和 ,设它们的维度分别为 和 ,称 和 是 可广播的,当且仅当以下性质成立:
- 对于任意整数 ,要么 ,要么 和 中至少有一个是 。
现在小 I 有两个张量,它们的维度分别是 和 ,它们不一定是可广播的。
为此,小 I 可以使用 Pytorch 内置的函数进行若干次操作(可以不做操作),每次操作对序列 或 进行以下修改:
- 选择 或 ,在选定序列的任意一个位置插入一个 。
小 I 想知道他最少要多少次操作才能让两个张量变为可广播的。
输入格式
输入的第一行两个整数 表示两个张量的维度。
第二行 个整数 描述第一个张量每个维度的长度。
第三行 个整数 描述第二个张量每个维度的长度。
输出格式
输入一行一个整数表示最少的插入 的数量使得两个张量变为可广播的。
4 2
2 1 3 2
4 2
1
提示
在序列 的第二个位置之前插入一个 (得到 4 1 2
),两个张量就会变为可广播的。