Training 1.16

学习内容:cf补题,abc补题

1.No Sitting(cf1627B)

本题的策略比较好考虑,但怎么实现能输出0-n*m-1的情况是个难题。刚开始我考虑的是可以推导出一个数学公式, 从而直接输出,但不太好推导(要考虑奇偶,还要考虑其他细节),但是注意到由于我们是用计算机解决问题,很多问题我们不需要严格推导出具体是哪一个,直接把四角的位置全比一遍就可以。第二点就是针对这种0-n*m-1都输出的情况,我们可以考虑先计算出所有答案再排序——不要局限于直接算出某个答案。

2.粉刷栅栏(Acwing1987)

差分+区间离散化/stl

由于本题中数据范围可以达到1e9,显然不能直接差分。对于每一个区间,我们可以离散化,即用一个数来表示这个区间。那么我们差分的时候直接进行对区间端点的差分。考虑到端点的顺序需要有序,我们可以直接用map来存储(当然离散化也是可以的)。由于map内部的元素是有序的,我们只需要直接for(auto& [x,v]:b)进行每组值的访问,如果sum>=2,则ans直接加上区间的长度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值