摘要: 分块算法的思想很简单,大块分块维护,小块朴素维护。如果以√n的大小来分块,最终大概的时间复杂度为O(√n)。 以POJ3468为例题,给出模板。 #include<iostream> #include<cstdio> #include<string> #include<cstring> #inclu 阅读全文
posted @ 2021-03-11 13:46 WDNMD_HCL 阅读(105) 评论(0) 推荐(0)
摘要: 那么讲完ST表后,进行一些进阶的操作。(不可能单学模板对吧) codeforces-689D:题目链接 题意:现有两个数组a和b,让你求共有多少个区间(L,R)使得max(a[L],...,a[R])=min(b[L],...,b[R])。PS:L可以等于R的哦。 首先看到区间最值且无修改等操作,很 阅读全文
posted @ 2021-01-23 14:59 WDNMD_HCL 阅读(196) 评论(0) 推荐(0)
摘要: 区间最值问题 谈到区间最值问题,其实有很多方法可以求,比如线段树。但是线段树的实现代码很长,而且线段树的实际作用其实大的多,如果仅仅只是求区间最值,感觉有点大材小用的赶脚。 有一种方法代码量少,好理解且专门解决区间最值问题的方法——ST表 算法思想 ST表通过复杂度为O(nlogn)的预处理后,能在 阅读全文
posted @ 2021-01-23 14:36 WDNMD_HCL 阅读(179) 评论(0) 推荐(0)