#P12751. [POI 2017 R2] 集装箱 Shipping containers

    ID: 12530 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>2017POI(波兰)根号分治

[POI 2017 R2] 集装箱 Shipping containers

题目背景

翻译来自于 LibreOJ

题目描述

题目译自 XXIV Olimpiada Informatyczna — II etap Kontenery

工程师 Bajtazar 负责管理一个集装箱装卸坡道。坡道由 nn 个连续位置组成,编号从 11nn。每位位置上,起重机可堆放任意数量的集装箱,层层叠放。

部分集装箱装有危险物质,需避免过于密集堆放。

Bajtazar 收到 kk 项起重机操作指令,第 ii 项操作形如 (ai,i,di)(a_i, \ell_i, d_i),表示从位置 aia_i 开始,每隔 did_i 个位置放置一个集装箱,共放置 i\ell_i 个(即在位置 ai,ai+di,ai+2di,,ai+(i1)dia_i, a_i+d_i, a_i+2d_i, \ldots, a_i+(\ell_i-1)d_i 各放一个)。他想知道所有操作完成后,每位位置上的集装箱数量。

输入格式

第一行包含两个正整数 n,kn, k,分别表示坡道位置数量和操作数量。

接下来的 kk 行描述操作,第 ii 行包含三个正整数 ai,i,dia_i, \ell_i, d_i,满足 ai+(i1)dina_i+(\ell_i-1)d_i \leq n。当 i=1\ell_i=1 时,保证 di=1d_i=1

输出格式

输出一行,包含 nn 个整数 c1,c2,,cnc_1, c_2, \ldots, c_n,其中 cic_i 表示所有操作完成后位置 ii 上的集装箱数量。

8 3
3 4 1
2 3 3
3 2 2
0 1 2 1 3 1 0 1

提示

样例 1 解释

每个集装箱上的编号对应将其放置在坡道上的操作序号。

附加样例

  1. n=10,k=10n=10, k=10,随机样例。
  2. n=11000,k=999,ai=i=i+1,di=10n=11000, k=999, a_i=\ell_i=i+1, d_i=10,对于 i=1,2,,ki=1, 2, \ldots, k
  3. n=100000,k=100000,1=2==k=1n=100000, k=100000, \ell_1=\ell_2=\ldots=\ell_k=1

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
11 n1000,k2000n \leq 1000, k \leq 2000 2121
22 n,k100000,d1=d2==dkn, k \leq 100000, d_1=d_2=\ldots=d_k 3333
33 n,k100000n, k \leq 100000 4646