题解 P2549 【计算器写作文】
简述:将一堆数字按照某些顺序排列,在限定答案的长度下数字最大。
首先先将这堆数字按按字典序排序。
然后dp;
贪心是错误的,因为你可能没法把位数填满。
对于前i个数字,长度为j的最大值,
f[i,j+s[i].length]=max(f[i-1,j+s[i].length],f[i-1,j]+s[i]);
f和s都是字符串类型,max是比较字典序大小。
请使用循环数组。
然而只能80分。
why? 如果全是0开头的数字呢?
贪心吧。只要能位数不够,就加进去。没关系的。反正有个小数点。