链接:https://www.nowcoder.com/acm/contest/139/J

题意:

给你【l,r】问【1,l】,【r,n】中有多少个不同的数。

思路:

可以参考上一篇博客:https://www.cnblogs.com/kls123/p/9342777.html

上一篇是问【l,r】内有多少不同的数,乍一看两题有点相似,可以想下能不能归并成一个问题

实际上我们只要再建一遍【1,n】的区间接在【1,n】后面,那么这个问题就变成了求【r,l+n】区间有多少个不同的数了

然后直接套用上一篇的解法就可以了,不过莫队算法这样写应该过不去,需要优化下,主席树的话,注意数据的大小,别开大了(因为清空标记数组开成了1e6,超时了10多发。。。最后加输入挂1.4s过)

离线+树状数组才是这道题的最好的姿势。。。随便改下就能过

代码写的贼丑就不放了,比比下思路

最新文章

  1. LoadRunner使用技巧之添加事务
  2. hdu 2053
  3. Careercup - Microsoft面试题 - 5700293077499904
  4. String定义与方法
  5. C#基本知识点-Readonly和Const的区别
  6. Educational Codeforces Round 1 C. Nearest vectors 极角排序
  7. WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞
  8. 小程序解析html标签wxPrase插件
  9. Graph Cut and Its Application in Computer Vision
  10. Convert Sorted Array to Binary Search Tree(将一个有序数组转换成一颗二叉搜索树)
  11. CSCI 1100 — Computer Science 1 Homework
  12. 用PhoneGap创建第一个项目
  13. MySQL事务(一)
  14. 20145122《JAVA开发环境的熟悉》实验报告
  15. Python发送邮件不需要发件人密码认证
  16. 如何使用Defender优雅的管理权限?
  17. Siege(开源Web压力测试工具)——多线程编程最佳实例
  18. JS实现表格列宽拖动
  19. day3 前奏
  20. 译 - Cassandra 数据建模的基本规则

热门文章

  1. DQN(Deep Reiforcement Learning) 发展历程(一)
  2. 随机取出数组中的某些值,并删除它们array_splice,array_slice
  3. 20155209 林虹宇 Exp9 Web安全基础
  4. 20155227《网络对抗》Exp3 免杀原理与实践
  5. # 20155337《网络对抗》Exp9 Web安全基础
  6. EZ 2018 03 09 NOIP2018 模拟赛(三)
  7. PostgreSQL安装和配置---Ubuntu
  8. 让Visual Studio载入Symbol(pdb)文件
  9. 【转载】VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
  10. 新员工入门 - for测试