题目背景
翻译来自于 LibreOJ。
题目描述
题目译自 XXIV Olimpiada Informatyczna — II etap Kontenery
工程师 Bajtazar 负责管理一个集装箱装卸坡道。坡道由 n 个连续位置组成,编号从 1 至 n。每位位置上,起重机可堆放任意数量的集装箱,层层叠放。
部分集装箱装有危险物质,需避免过于密集堆放。
Bajtazar 收到 k 项起重机操作指令,第 i 项操作形如 (ai,ℓi,di),表示从位置 ai 开始,每隔 di 个位置放置一个集装箱,共放置 ℓi 个(即在位置 ai,ai+di,ai+2di,…,ai+(ℓi−1)di 各放一个)。他想知道所有操作完成后,每位位置上的集装箱数量。
输入格式
第一行包含两个正整数 n,k,分别表示坡道位置数量和操作数量。
接下来的 k 行描述操作,第 i 行包含三个正整数 ai,ℓi,di,满足 ai+(ℓi−1)di≤n。当 ℓi=1 时,保证 di=1。
输出格式
输出一行,包含 n 个整数 c1,c2,…,cn,其中 ci 表示所有操作完成后位置 i 上的集装箱数量。
8 3
3 4 1
2 3 3
3 2 2
0 1 2 1 3 1 0 1
提示
样例 1 解释
每个集装箱上的编号对应将其放置在坡道上的操作序号。

附加样例
- n=10,k=10,随机样例。
- n=11000,k=999,ai=ℓi=i+1,di=10,对于 i=1,2,…,k。
- n=100000,k=100000,ℓ1=ℓ2=…=ℓk=1。
详细子任务附加限制及分值如下表所示。
子任务 |
附加限制 |
分值 |
1 |
n≤1000,k≤2000 |
21 |
2 |
n,k≤100000,d1=d2=…=dk |
33 |
3 |
n,k≤100000 |
46 |