题面描述十分清晰。
CF 上有一个 tag 是搜索,但是尝试了许久,bfs 一直 WA,于是考虑 DP。
注意到范围 n≤107n \leq 10^7n≤107,显然考虑 O(n)O(n)O(n) 的线性 DP。可以设 fif_ifi 表示生成长度为 iii 的最小代价,显然:
fi={min{fi÷2+y,fi−1+x}i≡0(mod2)min{f(i+1)÷2+x+y,fi−1+x}otherwisef_i= \begin{cases} \min\{f_{i \div 2} + y,f_{i-1}+x\} & i \equiv 0 \pmod 2 \\ min\{f_{(i+1) \div 2 + x +y},f_{i-1}+x\} & \text{otherwise} \end{cases}fi={min{fi÷2+y,fi−1+x}min{f(i+1)÷2+x+y,fi−1+x}i≡0(mod2)otherwise。