-
个人简介
排序:
基数,快排,希尔 7.15
线段树(单点修改,区间查询模板):
#include<bits/stdc++.h> using namespace std; int n=0,a[114514],p=0,cnt=0,cntt=0; struct xy { int l,r,s; }; xy f[114514]; void pushup(int i) { f[i].s=f[i*2].s+f[i*2+1].s; return ; } void build(int i,int l,int r) { p++; f[i].l=l; f[i].r=r; if(l==r) { f[i].s=a[l]; return ; } int m=(l+r)/2; build(i*2,l,m); build(i*2+1,m+1,r); pushup(i); return ; } void update(int i,int l,int r) { if(f[i].l>=l&&f[i].r<=l) { f[i].s=f[i].s+r; return ; } int m=(f[i].l+f[i].r)/2; if(l<=m) { update(i*2,l,r); } if(l>m) { update(i*2+1,l,r); } pushup(i); } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } build(1,1,n); for(int i=1;i<=p;i++) { cout<<i<<" "<<f[i].s<<endl; } cin>>cnt>>cntt; update(1,cnt,cntt); for(int i=1;i<=p;i++) { cout<<i<<" "<<f[i].s<<endl; } }
线段树(区间修改,区间查询模板):
超快速排序(代码及解析):
单调栈模板
/*const long long N = 1e5+10,INF = 0x3f3f3f3f; long long a[N],ans[N],ans2[N],st[N],n,top,res,tmp;*/ void calc1(){ for(long long i = 1; i <= n; i++){ while(top>0&&a[i]<=a[st[top]])top--; ans[i]=st[top];st[++top]=i; }//单调栈模版,但是>=改成<=以达到效果 } void calc2(){ for(long long i = n; i >= 1; i--){ while(top>0&&a[i]<=a[st[top]])top--; ans2[i]=st[top];st[++top]=i; }//单调栈模版,但是>=改成<=以达到效果 }
-
通过的题目
-
最近活动
- 少年宫暑期零基础day6(2025/07/10)【张正标】 作业
- 少年宫暑期零基础day5(2025/07/09)【张正标】 作业
- GESP四级真题打卡1 IOI
- 少年宫暑期零基础day3(2025/07/07)【张正标】 作业
- 少年宫暑期零基础day2(2025/07/06)【张正标】 作业
- CSP模拟题(普转提难度)2 OI
- 少年宫高级A1班小测2 IOI
- 越秀区第九届STEAM科创教育展示活动C++项目——中学组 OI
- 高级A1班小测 IOI
- 少年宫周日下午高级A1班03 作业
- 越秀区少年宫4月月测(普及组难度) OI
- 少年宫周日下午高级A1班02 作业
- 少年宫周日下午高级A1班01 作业
-
最近编写的题解
题目标签
- 数据结构
- 7
- 语言基础
- 6
- 动态规划
- 5
- 竞赛
- 4
- 单调栈
- 3
- 一本通
- 3
- 背包
- 3
- 模拟
- 2
- 树状数组
- 2
- 栈
- 2
- 单调队列
- 2
- 年份
- 2
- NOIP
- 2
- USACO
- 2
- 一维数组
- 2
- 语言入门
- 2
- 其他
- 2
- 循环语句
- 2
- 字符串
- 2
- 2005
- 1