P14644 [POI 2025/2026 #1] 表达式 / Arithmetic expression
题目背景
滥用评测者将被封号。
题目描述
给定正整数 $n,a,b,c$。对于 $i=1,2,\ldots,n$,构造一个**代价**最小的表达式,使得表达式求值的结果为 $i$。只需要求出最小的代价。
---
我们给出表达式及其代价的定义。
- $\texttt{1}$ 是代价为 $a$、求值结果为 $1$ 的表达式。
- 若 $X,Y$ 的代价分别为 $x,y$,且求值结果分别为 $p,q$:
- $(X+Y)$ 是代价为 $x+y+b$、求值结果为 $p+q$ 的表达式。
- $(X\times Y)$ 是代价为 $x+y+c$、求值结果为 $p\cdot q$ 的表达式。
例如,$\tt(( 1 + 1) × (1 + 1)) × (1 + 1)$ 是代价为 $6a+3b+2c$,求值结果为 $8$ 的表达式。
输入格式
一行四个正整数 $n,a,b,c$($1\le n\le 3\, 000$,$1\le a,b,c\le10^9$)。
输出格式
$n$ 个正整数,第 $i$ 个正整数表示求值结果为 $i$ 的表达式的最小代价。
说明/提示
### 样例解释
下表展示了可以得到 $1\sim 6$ 的最小代价的表达式。
| 求值结果 | 表达式 | 代价 |
| :------ | :------------------ | :------------------------- |
| $1$ | $\tt 1 $ | $a = 1$ |
| $2$ | $\tt (1+1) $ | $2a + b = 2 + 4 = 6$ |
| $3$ | $\tt ((1+1)+1) $ | $3a + 2b = 3 + 8 = 11$ |
| $4$ | $\tt ((1+1)*(1+1)) $ | $4a + 2b + c = 4 + 8 + 2 = 14$ |
| $5$ | $\tt (((1+1)*(1+1))+1)$ | $5a + 3b + c = 5 + 12 + 2 = 19$ |
| $6$ | $\tt ((1+1)*((1+1)+1))$ | $5a + 3b + c = 5 + 12 + 2 = 19$ |
### 大样例
可以在附件中获得大样例。
样例 $\texttt{0a}$ 是题面中展示的样例。此外:
* $\texttt{0b}$: $n = 9, a = 2, b = 3, c = 1$。
* $\texttt{0c}$: $n = 200, a = 1, b = 2, c = 3$。
* $\texttt{0d}$: $n = 2500, a = 1, b = 1, c = 1$。
* $\texttt{0e}$: $n = 3000, a = b = c = 10^9$。
### 子任务
本题采用捆绑测试。
| 子任务编号 | 限制 | 得分 |
| :---------: | :--------------------- | :-----: |
| $1$ | $n \le 10$ | $13$ |
| $2$ | $n \le 200$ | $31$ |
| $3$ | $a = b = c = 1$ | $13$ |
| $4$ | 无额外限制 | $43$ |