CSP-S 模拟99
作者:互联网
考试次数快要破百了哦
T1 陶陶摘苹果
线段树维护单调栈?好像是。
考场上打了两个树状数组+主席树,wa50,考后发现数组开小了kuku~
T2 开心的金明
贪心
预处理每个月原材料的最小价格 $c_i=min(c_{i-1}+R_{i-1},c_i) $
将所有能够生产出来的电脑连价格(造价+储存所需money)带个数塞进大根堆(按价格排序),第$i-1$个月到第$i$个月只能储存$e[i-1]$台电脑,所以pop掉价格高的电 脑,使得存储量不超过$e[i-1]$,然后将储存的电脑全塞进小根堆(也是按价格排),取出价格低的电脑以满足客户需求,此时取出的电脑才是真正要实际生产的电脑,加上贡献
如果存储量小于客户需求,输出-1
T3 笨小猴
我打的是忘情水二分,给A成上一个权值mid加上B,在按sum排序,取前n+1个,判断当sumA大于剩下的A之和而sumB小于剩下的B之和,则减少权值mid,反之则增加mid
,对于sumA小于剩下的A之和且sumB小于剩下B之和的情况,应该输出-1。我是这么想的,但是题解是这样的:
而且题解说不会有-1的情况
它是这么证明的:
标签:小于,题解,电脑,mid,存储量,99,剩下,CSP,模拟 来源: https://www.cnblogs.com/heoitys/p/11790538.html