博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cdoj1324暴力分块
阅读量:4317 次
发布时间:2019-06-06

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

#include 
#include
#include
#include
using namespace std;typedef long long ll;const int maxn=1e5+7;int belong[maxn],l[maxn],r[maxn],block,num,n,q;ll a[maxn],Max[maxn];void build(){ block=sqrt(n); num=n/block;if(n%block!=0) num++; for(int i=1;i<=num;++i){
//num 不要写成n l[i]=(i-1)*block+1;r[i]=i*block; } r[num]=n;//收敛 for(int i=1;i<=n;++i){ belong[i]=(i-1)/block+1; } for(int i=1;i<=n;++i){ Max[belong[i]]=max(Max[belong[i]],a[i]); }}void update(int x,int y){
//单点更新 a[x]+=y; Max[belong[x]]=max(Max[belong[x]],a[x]);}ll ask(int x,int y){ //变量与数组重名 ll ans=-1; if(belong[x]==belong[y]){ for(int i=x;i<=y;++i){ ans=max(ans,a[i]); } return ans; } for(int i=x;i<=r[belong[x]];++i){ ans=max(ans,a[i]); } for(int i=belong[x]+1;i

 

转载于:https://www.cnblogs.com/linkzijun/p/6185517.html

你可能感兴趣的文章
【BZOJ-2733】永无乡 Splay+启发式合并
查看>>
Common Subsequence(最长公共子序列)
查看>>
weighing scheme
查看>>
java_简单解析ArrayList_iterable
查看>>
hashlib和hmac
查看>>
设计类作品
查看>>
2014-04-19编程之美初赛题目及答案解析
查看>>
jmeter+ant+jenkins+mac 报告优化(三) 使用命令行执行jmeter方式生成多维度的图形化HTML报告...
查看>>
Android设计模式系列-适配器模式
查看>>
sshd登录攻击
查看>>
STL小代码之一
查看>>
捆绑安装浏览器:技术剖析搜狗输入法中的猫腻
查看>>
schema
查看>>
apache kafka配置中request.required.acks含义
查看>>
Core Instrumentation Events in Windows 7, Part 2
查看>>
sharepoint securityToken.svc 无法打开
查看>>
Jedis连接池的使用
查看>>
浏览器劫持(hijack)
查看>>
javascript设计模式--继承(上)
查看>>
九度OJ 1499 项目安排 -- 动态规划
查看>>