bzoj1892

题意

\(n\)个三元组\(a_i,b_i,c_i\),以及\(m\)个查询\(s,t\)
求使得\(\sum\limits a_ix_i=s,\sum\limits b_ix_i=t\)的同时\(\sum\limits c_ix_i\)最大(\(\{x\}\)为非负实数)
\(n\le 10^5,m\le 10^4\)\(1\le a,b,c,s,t\le 10^4\)(均为整数)

做法

\[\begin{aligned} &max~~\sum c_ix_i\\ &s.t.\begin{cases}\sum a_ix_i=s\\ \sum b_ix_i=t\\ x\ge 0\\ \end{cases} \end{aligned}\]

相当于

\[\begin{aligned} &max~~\sum c_ix_i\\ &s.t.\begin{cases}\sum a_ix_i\le s\\ -\sum a_ix_i\le -s\\ \sum b_ix_i\le t\\ -\sum b_ix_i\le -t\\ x\ge 0\\ \end{cases} \end{aligned}\]

对偶一下

\[\begin{aligned} &min~~sy_1-sy_2+ty_3-ty_4\\ &\begin{cases}\forall i,s.t.a_iy_1-a_iy_2+b_iy_3-b_iy_4\le c_i\\ y_1,y_2,y_3,y_4\ge 0\\ \end{cases} \end{aligned}\]

\(x'=y_1-y_2,y'=y_3-y_4\)

\[\begin{aligned} &min~~sx+ty\\ &\forall i,s.t. a_ix+b_iy\le c_i \end{aligned}\]

可以预处理半平面交,然后三分去且凸壳,可以利用以下性质判断是否无解

无界性:若原问题(对偶问题)为无界解,则其对偶问题(原问题)无可行解

posted @ 2020-11-17 15:05  Grice  阅读(77)  评论(0编辑  收藏  举报