2019.09.22【NOIP提高组】模拟 A 组

这场比赛我没做,简单写一下题解。

 

T1:首先把所有的被减数从小到大排序,那么每次就是选取最大的c个来减。但是为了维护减完之后的序列还是从小到大的,我们不能直接把后c个减1。我们要找出a[n-c+1]所在的区间的前几个,把这几个减1,其他的不变。具体可以用线段树维护。

 

T2:首先考虑只有x和y时怎样做。我们肯定是先假定全部选x,然后选取y-x最大的Y个。

当加入了一维z之后,我们还是假定先全部选x。然后按照z-x从大到小排序,接着枚举一个分界线,分界线之前的选择z-x最大的Z个,分界线之后的选择y-x最大的Y个。这个是可以O(n)做到的。

 

T3:题解待更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值