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}\]
可以预处理半平面交,然后三分去且凸壳,可以利用以下性质判断是否无解
无界性:若原问题(对偶问题)为无界解,则其对偶问题(原问题)无可行解