【动态规划】【滚动数组】Educational Codeforces Round 26 D. Round Subset
2017-08-04 01:35
369 查看
给你n个数,让你任选K个,使得它们乘起来以后结尾的0最多。
将每个数的因子2和因子5的数量求出来,记作a[i]和b[i]。
答案就是max{ min{Σa[i],Σb[i]} }(a[i],b[i]是选择的那些数)。
暴力dp是f(i,j,k)表示前i个数,选j个,其中包含k个5的情况下,最多能包含多少个2。
转移是f(i,j,k)=max{ {f(t,j-1,k-b[i]}+a[i]}(1<=i<t) , f(i-1,j,k) },时间是O(18 * n^3),但空间存不下。
注意第二维为j时,只会从j-1或者j转移过来,所以可以滚动数组优化。
将每个数的因子2和因子5的数量求出来,记作a[i]和b[i]。
答案就是max{ min{Σa[i],Σb[i]} }(a[i],b[i]是选择的那些数)。
暴力dp是f(i,j,k)表示前i个数,选j个,其中包含k个5的情况下,最多能包含多少个2。
转移是f(i,j,k)=max{ {f(t,j-1,k-b[i]}+a[i]}(1<=i<t) , f(i-1,j,k) },时间是O(18 * n^3),但空间存不下。
注意第二维为j时,只会从j-1或者j转移过来,所以可以滚动数组优化。
相关文章推荐
- Educational Codeforces Round 26 D. Round Subset 滚动数组优化DP
- Educational Codeforces Round 26-D-Round Subset(背包DP)
- Educational Codeforces Round 26 D. Round Subset(dp)
- Educational Codeforces Round 26 D Round Subset
- Educational Codeforces Round 26 A B C 三道水题 - - D 动态规划
- Educational Codeforces Round 26 [ D. Round Subset ] [ E. Vasya's Function ] [ F. Prefix Sums ]
- Codeforce_827C_Two Seals_Educational Codeforces Round 26
- Educational Codeforces Round 11 E. Different Subsets For All Tuples 动态规划
- Educational Codeforces Round 26 A—C
- 【Educational Codeforces Round 10D】【树状数组】Nested Segments 每条线段内部有多少条线段
- Educational Codeforces Round 26-E-Vasya's Function(思维)
- Codeforces Round #360 (Div. 2) E. The Values You Can Make dp ,滚动数组
- Educational Codeforces Round 26 F. Prefix Sums 二分,组合数
- Educational Codeforces Round 26
- Educational Codeforces Round 26 D dp
- Educational Codeforces Round 26 C. Two Seals
- Educational Codeforces Round 26 G. Functions On The Segments 主席树
- cf Educational Codeforces Round 26 D. Round Subset
- Educational Codeforces Round 12 D. Simple Subset 最大团
- 【Codeforces Round 274 (Div 2)E】【DP 成段更新 打标记法 滚动数组】Riding in a Lift 乘坐k次电梯避免到达b层的方案数