题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2038

分析:莫队算法

莫队算法是一种思想……

处理问题:不带修改的区间询问

使用要求:[l-1,r] [l,r-1]的结果可由[l,r]的答案在O(1)或O(logn)的时间内推出

具体步骤:

  1、对整个区间轴分成根号n块

  2、以l所在的块的编号为第一关键字,r为第二关键字给所有询问排序方便处理

  3、对于每个块内的询问单独处理

    ①对于当前块里的第一个询问暴力求解

    ②剩下的在第一个询问基础上递推得到

那么对于本题,只要说明如何从[l,r]的答案推到[l-1,r] [l,r-1]就行了

注意题目最后求的是概率,那么我们不妨推种类,概率最后除以总数就行了

假设对于某个块,第一个询问[l,r]我们已经解决,且完成了这个询问的col[]数组(col[i]表示第i种颜色出现的次数)

那么考虑区间[l-1,r],假设第i-1位的颜色为k,那么ans[l-1,r]=ans[l,r]+添加一个颜色k多的种类

那么这个东西是多少呢,其实就是C(col[k]+1,2)-C(col[k],2)=col[k]啦

对于[l,r-1]就是减了啊……完美解决了……

总结:对于那成堆的无修改的区间问题,可以先考虑莫队算法啦……即使数据结构可以破,但是绝壁没莫队算法好!(其实是代码短~\(≧▽≦)/~啦啦啦)

转载于:https://www.cnblogs.com/wmrv587/p/3876643.html

[BZOJ2038]小Z的袜子(莫队算法)相关推荐

  1. [bzoj 2038 OR 清橙A1206 小Z的袜子]莫队算法

    [bzoj 2038 OR 清橙A1206 小Z的袜子]莫队算法 题意描述:[清橙A1206 时限:1s] [bzoj 2038 时限:20s] 题意描述: 作为一个生活散漫的人,小Z每天早上都要耗费 ...

  2. 清橙A1206 小Z的袜子(莫队算法)

    A1206. 小Z的袜子 时间限制:1.0s   内存限制:512.0MB   总提交次数:744   AC次数:210   平均分:44.44 将本题分享到:        查看未格式化的试题    ...

  3. P1494 [国家集训队]小Z的袜子/莫队学习笔记(误

    P1494 [国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小\(Z\)每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小\(Z\)再也无法忍受这恼人的找袜子过程,于是他 ...

  4. 【bzoj2038】[国家集训队2010]小Z的袜子 莫队

    莫队:就是一坨软软的有弹性的东西Duang~Duang~Duang~ 为了防止以左端点为第一关键字以右端点为第二关键字使右端点弹来弹去,所以让左端点所在块为关键字得到O(n1.5)的时间效率,至于分块 ...

  5. 洛谷P1494 [国家集训队]小Z的袜子 莫队

    题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把这N只袜子从1到N编 ...

  6. BZOJ2038 小Z的袜子 (莫队算法)

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=2038 专题练习: http://acm.hust.edu.cn/vjudge/conte ...

  7. BZOJ2038 小Z的袜子(hose)

    题目链接 莫队求区间[L,R]中数字相同的pair数,然后求GCD即可. #include<stdio.h> #include<string.h> #include<io ...

  8. P1494 小Z的袜子

    P1494 小Z的袜子 莫队板子题,对询问进行排序+分块,从而得到巧妙的复杂度 对于L,R的询问. 设其中颜色为x,y,z的袜子的个数为a,b,c... 那么答案即为 (a*(a-1)/2+b*(b- ...

  9. 【bzoj2038】[2009国家集训队]小Z的袜子(hose) 莫队算法

    原文地址:http://www.cnblogs.com/GXZlegend/p/6803860.html 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终 ...

  10. BZOJ2038 : [2009国家集训队]小Z的袜子(hose)(莫队算法)

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MB Submit: 19269 Solved: 8851 [Sub ...

最新文章

  1. 盛骁杰:对于充满好奇心的技术人来说多媒体技术是个宝藏
  2. granule size oracle,_ksmg_granule_size oracle内存分配粒度
  3. 独立使用zuul网关分发不同服务的请求、权限控制,非SpringCloud
  4. .NET 靠开源再“出圈”!
  5. Caffe常见神经网络结构——汇总与对比
  6. 数据结构c语言版第二版(严蔚敏)第一章笔记
  7. 软件测试是做什么的?具体工作内容?
  8. google linux桌面快捷方式,centos7 rhel7 linux下怎么安装google chrome 设置谷歌浏览器桌面快捷方式...
  9. 支付宝服务商如何帮助商户快速注册支付宝上级和支付宝小程序以及开通支付宝小程序扫码点餐功能
  10. 用texstudio写伪代码
  11. 如何将pdf批量转换成word?
  12. 糯米美团再获融资,团购硝烟再起
  13. c语言中文网va_list,深入C语言可变参数(va_arg,va_list,va_start,va_end,_INTSIZEOF)
  14. mysql只有frm_MySQL只有.frm和.ibd文件如何批量恢复InnoDB表-爱可生
  15. Win10的几个实用技巧系列之win10和win8系统哪个好用、系统任务栏和窗口假死的解决方法
  16. 如何增加微信朋友圈分享链接的小图片
  17. 2022全网最全的爆款抓包工具,各有千秋
  18. 1083 Cantor表
  19. 服务器被劫持,恶意注入js
  20. NameError: name 'XX' is not defined

热门文章

  1. WPF特效-实现3D足球效果
  2. python--requests库 安装及简单使用
  3. Android(java)学习笔记97:使用GridView以及重写BaseAdapter
  4. c语言详解  蔡勒(Zeller)公式计算某一天是星期几  极其方便
  5. Ajax技术(WEB无刷新提交数据)
  6. JVM内存大小配置方式
  7. 4、线程--线程同部
  8. 一次完整的react hooks实践
  9. 纯干货!如何做一个成功的大数据项目
  10. vue+express+mongoose项目构建