洛谷P3939 数颜色
有点疑惑为什么会出现在数据结构的题单里
明明是STL君啦!
#include<bits/stdc++.h> using namespace std; const int maxn=3*int(1e5)+7; vector<int>s[maxn]; int n,m,col[maxn]; int main() { // freopen("lys.in","r",stdin); cin>>n>>m; for(int i=1;i<=n;i++) { int x; cin>>x; s[x].push_back(i); col[i]=x; } for(int i=1;i<=m;i++) { int t; cin>>t; if(t==1) { int l,r,c; cin>>l>>r>>c; int al=lower_bound(s[c].begin(),s[c].end(),l)-s[c].begin(); int ar=upper_bound(s[c].begin(),s[c].end(),r)-s[c].begin()-1; if(al>ar) cout<<0<<endl; else cout<<ar-al+1<<endl; } else { int c; cin>>c; int u=lower_bound(s[col[c]].begin(),s[col[c]].end(),c)-s[col[c]].begin(); s[col[c]][u]++; u=lower_bound(s[col[c+1]].begin(),s[col[c+1]].end(),c+1)-s[col[c+1]].begin(); s[col[c+1]][u]--; swap(col[c],col[c+1]); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)