P3616 富金森林公园
来源:互联网 发布:js 删除cookie 编辑:程序博客网 时间:2024/04/19 05:29
#include<cstdio>#include<iostream>#include<algorithm>#include<map>using namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;--i)#define ll long long#define db double#define ldb long double#define pii pair<int,int>#define mkp make_pair#define X first#define Y second#define G c=getchar()void read(int&x) {char c;for(G;c<48;G);for(x=0;c>47&&c<58;G)x=x*10+c-48;}const int N=2000005;struct QUERY{int b,c,d;}qu[N];int n,m,a[N],T[N],tmp[N<<1],ln,tot,sa[N],vis[N];inline void add(int x,const int&y){ for(int z=x;z<=tot;z+=z&-z)T[z]+=y;}bool cmp(const int&x,const int&y){ return a[x]>a[y];}inline int query(int x){ int y=0; for(;x;x-=x&-x)y+=T[x]; return y;}int main(){ int i,x; read(n);read(m); rep(i,1,n){ read(a[i]); tmp[++ln]=a[i]; } rep(i,1,m){ read(qu[i].b);read(qu[i].c); if(qu[i].b==2){ read(qu[i].d); tmp[++ln]=qu[i].d; } else tmp[++ln]=qu[i].c; } sort(tmp+1,tmp+ln+1); rep(i,1,ln)if(tmp[i]>tmp[i-1])tmp[++tot]=tmp[i]; rep(i,1,n)a[i]=lower_bound(tmp+1,tmp+tot+1,a[i])-tmp; rep(i,1,m) if(qu[i].b==1)qu[i].c=lower_bound(tmp+1,tmp+tot+1,qu[i].c)-tmp; else qu[i].d=lower_bound(tmp+1,tmp+tot+1,qu[i].d)-tmp; rep(i,1,n)sa[i]=i; sort(sa+1,sa+n+1,cmp); rep(i,1,n){ vis[x=sa[i]]=1; add(a[x],(!vis[x-1])+(!vis[x+1])-1); } rep(i,1,m){ if(qu[i].b==2){ x=qu[i].c; add(a[x],(x>1&&a[x-1]>=a[x])+(x<n&&a[x+1]>=a[x])-1); if(x<n&&a[x+1]<a[x])add(a[x+1],1); if(x>1&&a[x-1]<a[x])add(a[x-1],1); a[x]=qu[i].d; add(a[x],1-(x>1&&a[x-1]>=a[x])-(x<n&&a[x+1]>=a[x])); if(x<n&&a[x+1]<a[x])add(a[x+1],-1); if(x>1&&a[x-1]<a[x])add(a[x-1],-1); } else printf("%d\n",1-query(qu[i].c-1)); } return 0;}
0 1
- P3616 富金森林公园
- 洛谷P3616 富金森林公园
- [树状数组] 洛谷 P3616 富金森林公园
- 洛谷[P3616] 富金森林公园【数据结构】【线段树】【树状数组】
- 净月潭国家森林公园简介
- 游西山国家森林公园
- 崇明东平森林公园一日游
- 北京莽山森林公园
- 广州番禺大夫山森林公园游记
- 周六-出游共青森林公园
- 黑麋峰之行----长沙森林公园
- 国家级森林公园——昆嵛山之秋
- 国庆游从化流溪河国家森林公园@记2004-10-02
- 富客户端
- 富爸爸
- 《仇富》
- 富文本
- 富文本
- 通过DVWA学习CSRF漏洞
- Centos7.0及以后版本修改启动级别
- MYSQL性能查看(命中率,慢查询)
- Linux发展壮大史
- tcp粘包和拆包的处理方案
- P3616 富金森林公园
- 从头到尾解析Hash表算法
- 分解质因数:整除问题
- HTTP1.0/1.1/2.0
- map的用法
- Ionic2:创建App启动页滑动欢迎界面
- 496. Next Greater Element I
- Web组件开发一 分层详解 和模块化
- LeetCode题目总结/分类