博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[模板] 动态ST表
阅读量:6190 次
发布时间:2019-06-21

本文共 767 字,大约阅读时间需要 2 分钟。

ST表本身是不可修改的。

如果考虑增加一个数,可以把ST表反过来写,即f[i][j]表示i往前1<<j个数,一个数最多影响logn个数,常数非常小。

 

#include
#include
#include
using namespace std;const int MAXN=200005;typedef long long ll;inline ll rd(){ ll ret=0,f=1;char c; while(c=getchar(),!isdigit(c))f=c=='-'?-1:1; while(isdigit(c))ret=ret*10+c-'0',c=getchar(); return ret*f;}ll f[MAXN][32];ll m,mod;int p;int main(){ m=rd();mod=rd(); char s[5];ll x,t=0; while(m--){ scanf("%s",s);x=rd(); if(s[0]=='Q') { int len=log2(x); printf("%lld\n",t=max(f[p][len],f[p-x+(1<
=0;i++) f[p][i]=max(f[p][i-1],f[p-(1<<(i-1))][i-1]); } } return 0;}

 

转载于:https://www.cnblogs.com/ghostcai/p/9291670.html

你可能感兴趣的文章
模版,自定义按钮背景xml
查看>>
Eureka服务注册不可用问题
查看>>
struts2中,在使用 convention 插件的情况下,如何使用 “chain” 这个resu
查看>>
DelphiWebMVC框架实现对Redis支持
查看>>
字符串转换为合法IP地址
查看>>
进程与线程的一个简单解释
查看>>
centos6.5 yum安装php5.5,mysql5.5.46 ,aphche 2.2.15
查看>>
八月的策略模式
查看>>
opencv测试程序
查看>>
Tomcat中的servlet配置理解
查看>>
修复Git打包的一个Bug
查看>>
zTree——删除所有节点
查看>>
v-pre让Vue直接显示{{}}不编译
查看>>
my new start
查看>>
(响应式PC端媒体查询)电脑屏幕分辨率尺寸大全
查看>>
【随机数】深入理解random和srandom
查看>>
大众点评Cat源码分析(四)——Report读写逻辑
查看>>
静态变量和实例变量的区别
查看>>
mysql的limit经典用法及优化
查看>>
一个oracle并发性问题的分析和解决
查看>>