标签:10 le frac 容量 Try outs Knapsack 价值 dp
题意
完全背包,查询容量为\(W\)的最大价值。
\(n\)个物品,容量\(w_i\),价值\(v_i\)
\(n\le 10^3,w_i\le 10^3,v_i\le 10^9.W\le 10^9\)
做法
令\(f(S)\)表示容量不超过\(S\)的最大价值
显然有\(f(S)=max\{f(X)+f(S-X)\}\)
我们让\(X,S-X\)尽量接近,显然有\(|X-(S-X)|\le 10^3\)
令\(T=10^3\)
\(|X-(S-X)|\le 10^3\Longrightarrow \frac{S}{2}-\frac{T}{2}\le X\le \frac{S}{2}+\frac{T}{2}\)
我们需要得到\([\frac{S}{2}-\frac{T}{2},\frac{S}{2}+\frac{T}{2}]\)范围内的dp值
再次分裂,\([\frac{S}{4}-\frac{3}{4}T,\frac{S}{4}+\frac{3}{4}T]\)
易得\(T\)前系数不会超过\(1\),故我们直接对每层实行\(2T\)范围的dp
总复杂度\(O(T^2logW)\)
标签:10,le,frac,容量,Try,outs,Knapsack,价值,dp 来源: https://www.cnblogs.com/Grice/p/14052752.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。