线性规划

简单记录,格式忽略。

标准形式及对偶方法

设有 \(n\) 个变量 \(x_i\)\(m\) 条限制$$

\(\textbf{A}\) 为一个 \(m \times n\) 的矩阵,其中 \(\textbf{A}_{i,j}\) 表示第 \(i\) 条限制中第 \(j\) 个变量的系数。

在满足:

\[\textbf{A}x \le b \]

\[x \ge 0 \]

求:

\[\max c^Tx \]

可以对偶为,对每条限制开一个变量 \(y_i\),则上面等价于:

满足:

\[\textbf{A}y \ge c \]

\[y \ge 0 \]

求:

\[\min b^Ty \]

其中最优解满足:

\[c^T x=b^T y \]

更形象的理解:

转置后的每条限制,相当于是原来的变量 \(x\) 再所有限制中的系数,对应乘上限制变量 \(y\),去和原先在最优化中的系数组成不等式。

线性规划转费用流:

直接上结论。

如果最优化的形式形如:

\[\min \sum\limits_{u}b_up_u+\sum\limits_{u,v}c_{u,v}\max(0,p_v-p_u-w_{u,v}) \]

则可以直接构造费用流解决:

  • \(b_u\) 为需要从源点流入的流量,若为负则流入汇点。
  • \(c_{u,v}\)\(u \rightarrow v\) 的流量上界。
  • \(w_{u,v}\)\(u \rightarrow v\) 的权值。

直接跑最小费用最大流。

后面那个 \(\max\) ,一般用于限制二元偏序关系,给 \(c_{u,v}\) 赋值为正无穷,则相当于要求 \(p_v-p_u \le w_{u,v}\)

例题:

[ZJOI2013] 防守战线

卑鄙的下毒人

线性规划转 DP

要求对偶后的变量,值域取值很小且为整数。

可以有意识的注意这一点。

当目标式种含有形如 \(\max(0,x)\) 后,可以设计一个变量 \(y\) 替换这个式子,需要保证 \(y \ge 0,y \ge x\)

当要求种存在 \(\sum\limits_{i \in S} x_i \le 1\) 且希望 \(x\) 尽可能大的时候,若 S 取便所有二进制子集,则 \(x_i \in [-1,1]\)。反证若存在 \(-2\),则一定在某一侧出现了两个 \(1\),否则该位填 \(-1\) 即可。

例题

Circles

[ZJOI2020] 序列

手势密码

CF1765J Hero to Zero

posted @ 2025-07-01 12:01  Richard_whr  阅读(54)  评论(0)    收藏  举报