[传智杯 #5 初赛] B-莲子的机械动力学

Luogu
IDLGP8870
Time2000ms
Memory512MB
DifficultyP2
模拟传智杯
题目背景的问题可以转化为如下描述: 给定两个长度分别为 $n,m$ 的整数 $a,b$,计算它们的和。 但是要注意的是,这里的 $a,b$ 采用了某种特殊的进制表示法。最终的结果也会采用该种表示法。具体而言,从低位往高位数起,第 $i$ 位采用的是 $i+1$ 进制。换言之,相较于十进制下每一位的「逢 $10$ 进 $1$」,该种进制下第 $i$ 位是「逢 $i+1$ 进 $1$」。 下图所示,左边是十进制的竖式加法;右边是这种特殊进制的竖式加法。图中的红色加号表示上一位发生了进位。 ![](https://cdn.luogu.com.cn/upload/image_hosting/px92d6yd.png) ## Input - 第一行有两个整数 $n,m$,分别表示 $a$ 和 $b$ 的位数。 - 第二行有 $n$ 个整数,中间用空格隔开,**从高到低位**描述 $a$ 的每个数码。 - 第三行有 $m$ 个整数,中间用空格隔开,**从高到低位**描述 $b$ 的每个数码。 ## Output - 输出有若干个整数,从高到低位输出 $a+b$ 在这种特殊表示法下的结果。 [samples] ## Background **【题目背景和题目描述的两个题面是完全等价的,您可以选择阅读其中一部分。】** 专攻超统一物理学的莲子,对机械结构的运动颇有了解。如下图所示,是一个三进制加法计算器的(超简化)示意图。 ![](https://cdn.luogu.com.cn/upload/image_hosting/l6gm0j36.png) 一个四位的三进制整数,从低到高位,标为 $x_1,x_2,x_3,x_4$。换言之,这个数可以写成 $\overline{x_4x_3x_2x_1}_{(3)}$。把它放在这四个齿轮里,对应箭头指向的数字就是现在这位的数值。 在这种机械式计算机里,我们通过齿轮的啮合来实现数位间的连接。通过不同齿轮半径的比例来确定进制。图中所有浅灰色的小齿轮的半径,比上使用皮带相接的较大齿轮的半径,都是 $1:3$。那么小齿轮每转动一圈,大齿轮就转动 $\dfrac{1}{3}$ 圈,也就是刚好一个数码的角度。 于是,我们通过控制齿轮的半径实现了 $3$ 进制的进位。 如果需要实现三进制加法,则只需要在对应数位拨动对应的数码长度即可。 如下是个例子,实现 $\overline{1021}_{(3)}+\overline{0021}_{(3)}=\overline{1112}_{(3)}$ ![](https://cdn.luogu.com.cn/upload/image_hosting/4kcgnp7j.png) 初始时齿轮的状态如上。 ![](https://cdn.luogu.com.cn/upload/image_hosting/dcd66l5v.png) 把第一个齿轮拨动一个单位长度,变为如上图所示。 ![](https://cdn.luogu.com.cn/upload/image_hosting/oiexg3yw.png) 把第二个齿轮拨动两个单位长度,变为如上图所示。读数,得到结果 $\overline{1112}_{(3)}$。 --- 现在莲子设计了如下图所示的机械结构。对于从左往右数的第 $i$ 枚齿轮,它上面的浅色小齿轮与第 $i+1$ 枚齿轮上的深色小齿轮的半径之比为 $1:(i+2)$。也就是说,第 $i$ 枚齿轮每转动 $1$ 圈,第 $i+1$ 枚齿轮转过的角度恰好为它上面的一个数码。 ![](https://cdn.luogu.com.cn/upload/image_hosting/zi1d0qnn.png) 莲子想要知道,在这样的特别的进制表示下,给定 $a,b$,那么计算出的 $a+b$ 的结果是多少。 ## Note 对于全部数据,保证 $1\le n,m\le 2\times 10^5$,从低位往高位数起有 $a_i\in[0,i]$,$b_i\in[0,i]$。请使用 Java 或 Python 语言作答的选手注意输入输出时的效率。
Samples
Input #1
5 4
3 3 2 1 1
3 2 2 1
Output #1
4 2 1 1 0
Input #2
10 1
10 9 8 7 6 5 4 3 2 1
0
Output #2
10 9 8 7 6 5 4 3 2 1
API Response (JSON)
{
  "problem": {
    "name": "[传智杯 #5 初赛] B-莲子的机械动力学",
    "description": {
      "content": "题目背景的问题可以转化为如下描述: 给定两个长度分别为 $n,m$ 的整数 $a,b$,计算它们的和。 但是要注意的是,这里的 $a,b$ 采用了某种特殊的进制表示法。最终的结果也会采用该种表示法。具体而言,从低位往高位数起,第 $i$ 位采用的是 $i+1$ 进制。换言之,相较于十进制下每一位的「逢 $10$ 进 $1$」,该种进制下第 $i$ 位是「逢 $i+1$ 进 $1$」。 下图所",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8870"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "题目背景的问题可以转化为如下描述:\n\n给定两个长度分别为 $n,m$ 的整数 $a,b$,计算它们的和。\n\n但是要注意的是,这里的 $a,b$ 采用了某种特殊的进制表示法。最终的结果也会采用该种表示法。具体而言,从低位往高位数起,第 $i$ 位采用的是 $i+1$ 进制。换言之,相较于十进制下每一位的「逢 $10$ 进 $1$」,该种进制下第 $i$ 位是「逢 $i+1$ 进 $1$」。\n\n下图所...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments