根号分治解决的问题有这种特点:

  1. 可以将问题按照某个界限拆分为两个子问题,通常界限设为 n \sqrt n n ​
  2. 对于拆分出来的两个子问题,一部分可以暴力求解,另一部分可以使用算法求解。这样分治的话,可以使得两个子问题的时间复杂度刚好都是 n ⋅ n n\cdot \sqrt n n⋅n ​ ,得以解决问题

题目:


E. Array Queries

题意:

思路:

对于 k > n k> \sqrt n k>n ​ 的询问,暴力即可,枚举的次数不超过 n \sqrt n n ​ 。

对于 k ≤ n k\leq \sqrt n k≤n ​ 的询问,可以预处理 ( p , k ) (p,k) (p,k) 状态需要跳的步数,时空复杂度 O ( n ⋅ n ) O(n\cdot \sqrt n) O(n⋅n ​) 。

AC代码:https://codeforces.com/contest/797/submission/182309787


D1. Frequency Problem (Easy Version)

题意:

给定 a 1 , a 2 , . . . , a n a_1,a_2,...,a_n a1​,a2​,...,an​,求最长的满足区间众数有至少两种的区间长度。如果不存在这样的区间,输出 0 0 0。

n ≤ 2 × 1 0 5 , 1 ≤ a i ≤ min ⁡ ( 100 , n ) n\leq 2\times 10^5,1\leq a_i\leq \min(100,n) n≤2×105,1≤ai​≤min(100,n)

思路:略。详见 题解 。

AC代码:https://codeforces.com/contest/1446/submission/182314629


D2. Frequency Problem (Hard Version)

题意:将上一题的 1 ≤ a i ≤ min ⁡ ( 100 , n ) 1\leq a_i\leq \min(100,n) 1≤ai​≤min(100,n) 改为 1 ≤ a i ≤ n 1\leq a_i\leq n 1≤ai​≤n 。

题解:题解 CF1446D1 【Frequency Problem (Easy Version)】

思路:

对于 a i > n a_i> \sqrt n ai​>n ​ 的数字,最多有 n \sqrt n n ​ 种,按照 easy.ver 的思路即可。

对于 a i ≤ n a_i\leq \sqrt n ai​≤n ​ 的数字,枚举出现次数上界,然后双指针找最长子区间。

AC代码:https://codeforces.com/contest/1446/submission/182317190

根号分治 + 入门题目相关推荐

  1. 树链剖分 or 根号分治 + dfs序 + 树状数组 ---- CF1254 D. Tree Queries

    题目链接 题目大意: 问题转化: 很容易发现:假设修改的节点是vvv. 1.vvv的子树sonvson_vsonv​直接加上(n−size[sonv])n×d\frac{(n-size[son_v]) ...

  2. CF1039E-Summer Oenothera Exhibition【LCT,根号分治】

    正题 题目链接:https://www.luogu.com.cn/problem/CF1039E 题目大意 给出nnn个数的序列,mmm次询问至少将这个序列分成多少段才能满足每一段的和不超过w−qiw ...

  3. CF1039D-You Are Given a Tree【根号分治,贪心】

    正题 题目链接:https://www.luogu.com.cn/problem/CF1039D 题目大意 给出nnn个点的一棵树,然后对于k∈[1,n]k\in[1,n]k∈[1,n]求每次使用一条 ...

  4. CF587F-Duff is Mad【AC自动机,根号分治】

    正题 题目链接:https://www.luogu.com.cn/problem/CF587F 题目大意 给出nnn个字符串sss.qqq次询问给出l,r,kl,r,kl,r,k要求输出sl..rs_ ...

  5. UOJ#33-[UR #2]树上GCD【长链剖分,根号分治】

    正题 题目链接:https://uoj.ac/problem/33 题目大意 给出nnn个点的一棵树 定义f(x,y)=gcd(dis(x,lca),dis(y,lca))f(x,y)=gcd(\ d ...

  6. NOI.AC#2266-Bacteria【根号分治,倍增】

    正题 题目链接:http://noi.ac/problem/2266 题目大意 给出nnn个点的一棵树,有一些边上有中转站(边长度为222,中间有一个中转站),否则就是边长为111. mmm次询问一个 ...

  7. P5355-[Ynoi2017]由乃的玉米田【莫队,bitset,根号分治】

    正题 题目链接:https://www.luogu.com.cn/problem/P5355 顺带一提的是P3674 小清新人渣的本愿是这题的弱化版,提交就可以A 题目大意 nnn个数字,询问 一个区 ...

  8. P5072-[Ynoi2015]盼君勿忘【莫队,根号分治】

    正题 题目链接:https://www.luogu.com.cn/problem/P5072 题目大意 nnn个数,mmm个询问(l,r,p)(l,r,p)(l,r,p)表示询问[l,r][l,r][ ...

  9. YbtOJ#20072-[NOIP2020模拟赛B组Day6]相似子串【根号分治】

    正题 题目链接:http://noip.ybtoj.com.cn/contest/105/problem/2 题目大意 一个010101串,qqq个询问,每次询问有多少个长度为mmm的子串010101 ...

最新文章

  1. easyexcel生成excel_阿里JAVA解析Excel工具easyexcel
  2. apache虚拟机配置步骤和修改访问端口
  3. 利用Java实现串口全双工通讯
  4. linux如何添加默认路由表_linux 添加静态路由
  5. 微博关注者数量在计算中的作用
  6. 安装在电脑上的网络测试软件,iperf3 网络测试工具
  7. 关于yum使用的小技巧
  8. 全网首发:把一个bit数组矩阵旋转90度
  9. python成语接龙_python——成语接龙小游戏
  10. 详解验证码与打码平台的攻防对抗
  11. preempt_disable导致的cyclictest测试延时超标
  12. 半小时读懂互联网广告新生态
  13. 鼠标移入或悬浮禁用图标,点击事件不生效
  14. 前端调用手机相机拍照
  15. MoviePy - 中文文档4-MoviePy实战案例-炫动的字母特效
  16. 用yara实现分析恶意样本_Yara –识别和分类恶意软件样本
  17. linux怎么检查越界,C语言指针越界访问示例
  18. 信号与系统20(拉普拉斯变换域分析)
  19. 深圳注册公司可以异地办公吗
  20. CAD中如何加粗选中的字体

热门文章

  1. office 2010 ppt 添加音乐等相关问题
  2. logiscope系列-使用说明书
  3. 笔记本重装windows系统,office全家桶消失的解决方案
  4. 3年功能测试经验,面试拿到15k难吗?
  5. 语音信号调制matlab,第二章 语音信号的数字模型 数字语音处理及MATLAB仿真 教学课件.ppt...
  6. 微信小程序 #项目笔记# | 从0到1实现外卖点餐系统小程序
  7. 10 款值得珍藏的 Chrome 浏览器插件
  8. Acrobat XI Pro安装教程
  9. RationalDMIS 2020 RPS(6点迭代)
  10. find vba 模糊_利用VBA代码实现多重查找、模糊查找、清除值的方案