专栏文章

1或2序列最小总代价变换操作方案

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqypuda
此快照首次捕获于
2025/12/04 12:55
3 个月前
此快照最后确认于
2025/12/04 12:55
3 个月前
查看原文
给定长为 nn 的序列 S,TS, TSi,Ti{1,2}S_i, T_i \in \lbrace 1, 2 \rbrace 且两序列 1122 的数量分别相等。每次操作可以在 SS 中选取一个长度不超过 33 的区间,将其中的数左右翻转,操作的代价为区间内数的和加上常数 CC。 求一种总代价最小的将 SS 变换为 TT 的操作序列。
区间长为 22,等价于交换相邻两数;区间长为 33,等价于隔一个数交换两数。只有交换相异的数的操作有意义。于是只会采取下列操作:
\lbrack 1, 2 \rbrack \Leftrightarrow \lbrack 2, 1 \rbrack &\mathrm{cost}=3+C &(a)\\ \lbrack 1, 1, 2 \rbrack \Leftrightarrow \lbrack 2, 1, 1 \rbrack &\mathrm{cost}=4+C &(b_1)\\ \lbrack 1, 2, 2 \rbrack \Leftrightarrow \lbrack 2, 2, 1 \rbrack &\mathrm{cost}=5+C &(b_2)\\ \end{cases}$$ 考虑将 $S$ 中的 $2$ 与 $T$ 中的配对。(不知道为什么不配对 $1$。可能都一样。) 考虑如下情况: $$\begin{aligned} S&=\lbrace 1,1,1,\underline{1},\underline{1},1,\underline{1},1,\underline{2},1 \rbrace \\ T&=\lbrace 1,1,1,2,1,1,1,1,1,1 \rbrace \end{aligned}$$ 将 $S$ 中 $2$ 挪到 $T$ 中对应位置只需 $(b_1) \times 2 + (a) \times 1$(位置变动已用下划线标出)。 事实上,对于任意一种 $2$ 的配对,都

评论

0 条评论,欢迎与作者交流。

正在加载评论...