先将询问离线,把询问按照r分类,从小到大回答每一个询问。
由随机的性质得知两个串的lcp不会特别长,我们令其最长为40
对于区间[1,R],[2,R],[3,R]…[R-1,R],求其中最长的LCP一定是单调不增的
从左到右将后缀的前40位插入字典树,字典树路径上存下最后一次访问该点的时间,第二次访问这个深度为dep节点的时候就能得到一对时间x,y表示以x开头的后缀和以y开头的后缀的LCP长度大于等于dep
维护这40个值,对于每一个询问扫一遍这40个值即可
时空复杂度 O(40N) O(40N)

#include <bits/stdc++.h>
#define N 100050
#define tp 50
using namespace std;
typedef long long LL;int o[tp+5],F[tp*N],ch[tp*N][2],tot,n,q;
LL ans[N];
char s[N];
struct HbFS{int l,r,_;}Q[N];
inline int rd() {int r;scanf("%d",&r);return r;}bool cmp(HbFS p1, HbFS p2) {return p1.r < p2.r;}void add(int x) {int p = 0;for (int i=0;i+x<=n && i+1<=tp;i++) {int c = s[i+x]-'0';if (!ch[p][c]) {ch[p][c] = ++tot;F[tot] = x;} else {o[i+1] = max(F[ ch[p][c] ], o[i+1]);F[ ch[p][c] ] = x;}p = ch[p][c];}
}int main() {freopen("b.in","r",stdin);freopen("b.out","w",stdout);n = rd(), q = rd();scanf("%s",s+1);for (int _=1;_<=q;_++) Q[_].l = rd(), Q[_].r = rd(), Q[_]._ = _;sort(Q+1,Q+q+1,cmp);int T = 1;for (int _=1;_<=n;_++) {add(_);while (T<=q && Q[T].r == _) {for (int i=1;i<=tp;i++)if (o[i] >= Q[T].l)ans[ Q[T]._ ] += 1LL * i * (o[i] - max(Q[T].l-1, o[i+1]));elsebreak;T++;}}for (int _=1;_<=q;_++) printf("%lld\n",ans[_]);return 0;
}

[HAOI2017]供给侧改革相关推荐

  1. Luogu3732 [HAOI2017] 供给侧改革 【后缀数组】【线段树】【乱搞】

    题目分析: 这道题我是乱搞的,因为他说$01$串是随机的. 那么我们可以猜测能够让LCP变大的地方很少.求出后缀数组之后可能让LCP变大的地方就等价于从大到小往height里动态加点同时维护这个点左右 ...

  2. 洛谷 P3732 [HAOI2017]供给侧改革【trie树】

    参考:http://blog.csdn.net/di4covery/article/details/73065684 我以为是后缀数组+某某数据结构,结果居然是01trie!!题解说"因为是 ...

  3. 供给侧改革与去产能对安防产业啥影响

    2016年,在经济下行压力巨大,GDP预估增长继续下降的大环境下,中央经济工作会议提出了一系列经济改革措施,其中"供给侧改革与去产能"对各产业的影响尤为关键,优化经济发展结构,提高 ...

  4. 大数据可精细化推进“供给侧”改革

    文:张涵诚 需要产业发展推荐引擎系统和中国产业信息平台 需求和供给的相对平衡是国民经济的平稳的决定性因素.要达到这个平衡,国家提出要供给侧改革.看过很多供给侧改革的文章,大部分比较宏观,而笔者认为精细 ...

  5. 德尔汝继勇:地板行业供给侧改革与企业转型升级

    本次大会吸引了海内外地板行业共三百余位嘉宾莅临现场,主要针对时下热门的"供给侧改革"."互联网+"以及"绿色发展"等内容,进行高端互动.作为 ...

  6. 写一篇关于 供给侧改革 的申论

    供给侧改革是指通过改变生产环境和生产方式,提高供给效率和产品质量,从而推动经济增长的改革方向. 近年来,我国经济发展进入新常态,经济增速放缓,经济结构不断优化.在这种情况下,供给侧改革显得尤为重要.供 ...

  7. 从最近热门的700M看广电有线的供给侧改革

    [背景]700M频段,是世界上其他国家上LTE的主要频段,这个频段非常好用,主要是覆盖能力强,穿透力强.2015年底四省广电联合招标"广电有线无线卫星融合网项目",引起电信与广电关 ...

  8. 国内保险业供给侧改革进行时,中国平安如何应对转型压力?

    2022年,国内许多保险公司依旧处于转型阵痛期中.虽然保险行业全年总保费收入4.7万亿元,相较2021年的4.49万亿元,同比增长了4.58%.不过人身险和财产险的分化加剧,让许多以人身险起家的传统保 ...

  9. IOT物联网观察之物联网建设为什么是供给侧改革的重要途径?

    供给侧结构性改革提出来很久了,简单地说就是要重新根据需求来定义供给,因为供给侧要么多了,要么提供的不到位,导致需求方无法有效地消化. 供给侧有劳动力.土地.资本.制度创造.创新等要素.如何达到最优配置 ...

最新文章

  1. Precision and recall From Wiki
  2. UITableView当数据很少的时候,去掉多余的cell分割线
  3. python入门区块链技术_区块链入门教程
  4. 详解STL中的空间配置器(SGI版本)
  5. 【转】CMake Error: The current CMakeCache.txt directory CMakeCache.txt is different than the directory
  6. Procrustes Analysis(普氏分析)
  7. 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~二 DBContext实例中,表实体对象是怎么被加入的...
  8. FastDFS介绍并在centos7中安装
  9. 用c++实现一个插入,删除和随机访问都是O(1)的容器(剑指||30)
  10. linux每天进步一点点-7月15日
  11. clear java_方法clear()在Java中做什么?
  12. java+maven工程 实现 自动对war包进行复制并修改和替换每个的配置文件
  13. Unity URP 渲染管线着色器编程 104 之 镜头光晕(lensflare)的实现
  14. ubuntu20.04 虚拟机连不上网
  15. 中断系统的相关知识(二)(可位寻址、不可位寻址)
  16. 2019最新微信公众平台PHP开发搭建与揭秘(附代码)
  17. 7-5 手机号码 (20 分)
  18. python获取网页内容 不打开_网页抓取python不返回任何内容
  19. java math pi_如何在java中使用math.pi
  20. (纪中)1439. airship

热门文章

  1. 服务器被攻击多久可以恢复?
  2. 二月单向历——心灵鸡汤
  3. vue + XLSX解析excel数据
  4. Win2000的优化
  5. python 判断时间是否为周末,是的话跳到下周一
  6. 7、【MySQL】数据的完整性
  7. Excel排名---万能排名公式生成工具,支持 运算后排名,中国式排名,多条件排名
  8. 保存至今最早的一副塔罗牌
  9. android html 标签字体加粗
  10. 超级个体和群生经济新时代