【每日一题】4月30日题目精讲 离线+树状数组

题号 NC19427
名称 换个角度思考
来源 牛客小白月赛9
戳我进入往期每日一题汇总贴~
往期每日一题题单

图片说明

如果你在题库做题时遇到了喜欢的题目,欢迎推荐给邓老师~ 点击查看详情

各种方法都可以做,比如说主席树莫队什么的,下方题解里也基本上都出现了,给大家点赞~
讲一个最简单的方法,离线+树状数组。(顺便说一下考虑用离线来处理问题的思路)
不离线直接查询的麻烦在于查询的时候有两个东西都是未知的——区间左右端点和x。我们考虑离线,是要通过离线相关的操作把这询问有关的两个不同性质变得只问一个,也即,如果我们要问区间[l,r]有多少个数就保证当前所有数都是小于等于x的,如果要问小于等于x有多少个数,就要保证目前只有区间[l,r]里面的东西。
先看第一种:在保证当前所有数都是小于等于x的情况下询问区间[l,r]有多少个数。
很简单,我们按照x对询问排序,对ai也排序,每次询问当前[l,r,x]之前把ai小于等于x的ai加入他对应的位置(只需要对应位置点数+1就行),然后询问[l,r]区间有多少个数。
再看第二种:在保证当前数都是[l,r]区间的情况下查询小于等于x的数字个数。
这个貌似没法做,因为区间可能交叉,但是实际上我们可以离线的时候把[l,r]区间转化为[1,l-1]和[1,r]两个区间,这样子问题就变成,在前若干个数字里面求小于等于x的数字个数,一个值域树状数组就可以了!

看完邓老师的题解,记得自己去做题提高呀~
欢迎各位大佬来做题写题解,也欢迎大家踊跃在当日讨论贴中提问!

活动奖励:

在牛客博客中写出题解,并回复地址
审核通过可获得(依据题目难度和题解的内容而定)

本道题目5月7日中午12:00之前写的题解有获得牛币资格~

.牛币兑换中心

牛客博客开通方式

  1. 如何开通牛客博客:https://www.nowcoder.com/discuss/202952
  2. 如何使用博客搬家功能:进入博客--->设置--->底部博客搬家
  3. 如果你对牛客博客有任何意见或建议:牛客博客意见反馈专贴
全部评论
https://blog.nowcoder.net/n/6daebe7d8f5546f6baf02d7c078905ba
1 回复
分享
发布于 2020-04-29 18:09
https://blog.nowcoder.net/n/0ae176ea29e44507bf299802fc89a34a
1 回复
分享
发布于 2020-05-04 16:17
联易融
校招火热招聘中
官网直投
https://blog.nowcoder.net/n/f8af43b4d91c4a089d44242639523236
点赞 回复
分享
发布于 2020-04-29 11:34
https://blog.nowcoder.net/n/bde8ced932114810a33d7daff815e5fb
点赞 回复
分享
发布于 2020-04-29 11:45
https://blog.nowcoder.net/n/0cc6aa87d4da442286662f82cb276bcb
点赞 回复
分享
发布于 2020-04-29 12:02
https://blog.nowcoder.net/n/78f9aa53292740f0be517ffcec0f1e76
点赞 回复
分享
发布于 2020-04-29 13:15
https://blog.nowcoder.net/n/112bf6fc65224112aa177d07f57ffc3b  做法貌似和别人的有点不同  虽然都是离线
点赞 回复
分享
发布于 2020-04-29 13:51
https://blog.nowcoder.net/n/b6cc5b35bffb49aca5deb46786550e80
点赞 回复
分享
发布于 2020-04-29 14:02
https://blog.nowcoder.net/n/85217fc777ff43f29129210246f53bbb
点赞 回复
分享
发布于 2020-04-29 14:51
https://blog.nowcoder.net/n/746b3462123c4c8dadcade38143cd81e
点赞 回复
分享
发布于 2020-04-29 15:04
https://blog.nowcoder.net/n/1c9d507387bf4f19aab71f4b8f70b00b
点赞 回复
分享
发布于 2020-04-29 15:58
https://blog.nowcoder.net/n/409001a239eb4bcfb113f3065a6cc4a3
点赞 回复
分享
发布于 2020-04-29 16:21
https://blog.nowcoder.net/n/41ddcf2d78584318aa6d604654fbfd6e 莫队+值域分块
点赞 回复
分享
发布于 2020-04-29 16:34
https://blog.nowcoder.net/n/c939949f47bd4352b3acbfec5e3412b4
点赞 回复
分享
发布于 2020-04-29 22:05
https://blog.nowcoder.net/n/134698cd65aa4d2c97017eebcb3b94b5
点赞 回复
分享
发布于 2020-04-30 11:22
https://blog.nowcoder.net/n/57a3965adbd04b5693e6fd2764b2f676
点赞 回复
分享
发布于 2020-04-30 16:10
https://blog.nowcoder.net/n/a979dbe8f4024bcfbdac5b478de2ed91 另外,是不是数据有点问题???我有一次提交是这样的: https://ac.nowcoder.com/acm/contest/view-submission?submissionId=43625717&returnHomeType=1&uid=652762409 主席树的管辖范围是1~n,但是,如果存在查询k>n的的话就会出错。 刚学的主席树,不知道是不是我理解错了。
点赞 回复
分享
发布于 2020-04-30 18:38
https://blog.nowcoder.net/n/2e930ffd79ac40f8b3e2260b009f8dd3
点赞 回复
分享
发布于 2020-04-30 22:00
https://blog.nowcoder.net/n/a42e3fa43f704c4a97fd19259e5b1950
点赞 回复
分享
发布于 2020-05-03 12:48
https://blog.nowcoder.net/n/26aa4bbea79240288bc59703d608265e 现学现做.jpg🤣
点赞 回复
分享
发布于 2020-05-03 16:45

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务