[HAOI2017]供给侧改革
先将询问离线,把询问按照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]供给侧改革相关推荐
- Luogu3732 [HAOI2017] 供给侧改革 【后缀数组】【线段树】【乱搞】
题目分析: 这道题我是乱搞的,因为他说$01$串是随机的. 那么我们可以猜测能够让LCP变大的地方很少.求出后缀数组之后可能让LCP变大的地方就等价于从大到小往height里动态加点同时维护这个点左右 ...
- 洛谷 P3732 [HAOI2017]供给侧改革【trie树】
参考:http://blog.csdn.net/di4covery/article/details/73065684 我以为是后缀数组+某某数据结构,结果居然是01trie!!题解说"因为是 ...
- 供给侧改革与去产能对安防产业啥影响
2016年,在经济下行压力巨大,GDP预估增长继续下降的大环境下,中央经济工作会议提出了一系列经济改革措施,其中"供给侧改革与去产能"对各产业的影响尤为关键,优化经济发展结构,提高 ...
- 大数据可精细化推进“供给侧”改革
文:张涵诚 需要产业发展推荐引擎系统和中国产业信息平台 需求和供给的相对平衡是国民经济的平稳的决定性因素.要达到这个平衡,国家提出要供给侧改革.看过很多供给侧改革的文章,大部分比较宏观,而笔者认为精细 ...
- 德尔汝继勇:地板行业供给侧改革与企业转型升级
本次大会吸引了海内外地板行业共三百余位嘉宾莅临现场,主要针对时下热门的"供给侧改革"."互联网+"以及"绿色发展"等内容,进行高端互动.作为 ...
- 写一篇关于 供给侧改革 的申论
供给侧改革是指通过改变生产环境和生产方式,提高供给效率和产品质量,从而推动经济增长的改革方向. 近年来,我国经济发展进入新常态,经济增速放缓,经济结构不断优化.在这种情况下,供给侧改革显得尤为重要.供 ...
- 从最近热门的700M看广电有线的供给侧改革
[背景]700M频段,是世界上其他国家上LTE的主要频段,这个频段非常好用,主要是覆盖能力强,穿透力强.2015年底四省广电联合招标"广电有线无线卫星融合网项目",引起电信与广电关 ...
- 国内保险业供给侧改革进行时,中国平安如何应对转型压力?
2022年,国内许多保险公司依旧处于转型阵痛期中.虽然保险行业全年总保费收入4.7万亿元,相较2021年的4.49万亿元,同比增长了4.58%.不过人身险和财产险的分化加剧,让许多以人身险起家的传统保 ...
- IOT物联网观察之物联网建设为什么是供给侧改革的重要途径?
供给侧结构性改革提出来很久了,简单地说就是要重新根据需求来定义供给,因为供给侧要么多了,要么提供的不到位,导致需求方无法有效地消化. 供给侧有劳动力.土地.资本.制度创造.创新等要素.如何达到最优配置 ...
最新文章
- Precision and recall From Wiki
- UITableView当数据很少的时候,去掉多余的cell分割线
- python入门区块链技术_区块链入门教程
- 详解STL中的空间配置器(SGI版本)
- 【转】CMake Error: The current CMakeCache.txt directory CMakeCache.txt is different than the directory
- Procrustes Analysis(普氏分析)
- 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~二 DBContext实例中,表实体对象是怎么被加入的...
- FastDFS介绍并在centos7中安装
- 用c++实现一个插入,删除和随机访问都是O(1)的容器(剑指||30)
- linux每天进步一点点-7月15日
- clear java_方法clear()在Java中做什么?
- java+maven工程 实现 自动对war包进行复制并修改和替换每个的配置文件
- Unity URP 渲染管线着色器编程 104 之 镜头光晕(lensflare)的实现
- ubuntu20.04 虚拟机连不上网
- 中断系统的相关知识(二)(可位寻址、不可位寻址)
- 2019最新微信公众平台PHP开发搭建与揭秘(附代码)
- 7-5 手机号码 (20 分)
- python获取网页内容 不打开_网页抓取python不返回任何内容
- java math pi_如何在java中使用math.pi
- (纪中)1439. airship