bzoj1892

题意

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

做法

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

相当于

[egin{aligned} &max~~sum c_ix_i\ &s.t.egin{cases}sum a_ix_ile s\ -sum a_ix_ile -s\ sum b_ix_ile t\ -sum b_ix_ile -t\ xge 0\ end{cases} end{aligned}]

对偶一下

[egin{aligned} &min~~sy_1-sy_2+ty_3-ty_4\ &egin{cases}forall i,s.t.a_iy_1-a_iy_2+b_iy_3-b_iy_4le c_i\ y_1,y_2,y_3,y_4ge 0\ end{cases} end{aligned}]

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

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

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

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

原文地址:https://www.cnblogs.com/Grice/p/13994260.html