B KC与龙珠(earings)
因为要用连续的耳环,所以记录前缀和。若sum[n]<0,则不可能满足分组条件。
区间[l,r]中耳环的评价值和=sum[r]-sum[l-1],若该值非负且sum[l-1]非负,则是一个可行的区间。
问题转化为求sum的LIS,f[i]表示以第i个数为结尾的LIS长度,转移方程:
$f[i]=max_{0 le j < i ;and;sum[j]<=sum[i];and; sum[j]>=0}(f[j]+1)$
f[n]即为答案。
C KC喝咖啡(coffee)
0-1分数规划。
转化为:求$frac {sum_{i=1}^n v_i*x_i}{sum_{i=1}^n c_i*x_i}$的最大值($x_i=0$或$1$)。
即:二分出一个L,使$sum_{i=1}^n (v_i-c_i*L)*x_i $最接近0。
实数二分,每次给所有的$v_i-c_i*L$排序,选最大的m个相加,若值>=0,则l=mid,否则r=mid。