BZOJ 2120 色彩数 暴力
2015-09-10 19:41
281 查看
标题效果:给定一个序列,两种操作:
1.询[l,r]间隔多少个不同的号码
2.单点变化
n,m<=1W
树盖树?树董事长?因此不必!
暴力之前,这个问题2s,不想复杂!适当的水太!
离散化一下!标记用时间戳取代!
675B秒切!
不是一般爽。
。
。。好吧假设认为这样没啥意思能够试试树状数组套bitset 应该会快一些
总之50%达成 假期进度:66.7% 死ね
1.询[l,r]间隔多少个不同的号码
2.单点变化
n,m<=1W
树盖树?树董事长?因此不必!
暴力之前,这个问题2s,不想复杂!适当的水太!
离散化一下!标记用时间戳取代!
675B秒切!
不是一般爽。
。
。。好吧假设认为这样没啥意思能够试试树状数组套bitset 应该会快一些
总之50%达成 假期进度:66.7% 死ね
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define M 10010 using namespace std; int n,m,a[M],map[1001001],tot; int f[M+1000],T,ans; int main() { int i,j,x,y; char p[10]; cin>>n>>m; for(i=1;i<=n;i++) { scanf("%d",&x); if(!map[x]) map[x]=++tot; a[i]=map[x]; } for(i=1;i<=m;i++) { scanf("%s%d%d",p,&x,&y); if(p[0]=='R') { if(!map[y]) map[y]=++tot; a[x]=map[y]; } else { ans=0;++T; for(j=x;j<=y;j++) if(f[ a[j] ]!=T) ++ans,f[ a[j] ]=T; printf("%d\n",ans); } } }
相关文章推荐
- 浅谈数据结构-平衡二叉树
- GitHub--Windows下command line创建与提交
- 如何搭建一个Linux驱动编写环境(centos)
- Spark on Yarn+Hbase环境搭建指南(四)NTP服务设置
- Maven多工程依赖在Eclipse中发布到Server被依赖工程没有生成jar的问题
- 《剑指offer》矩形覆盖
- Android 学习第8课,android的布局方式
- Android 学习第9课,java android 项目的安装与启动过程
- ZOJ 3466 The Hive II (插头DP,变形)
- 在dialog程序中如何call screen屏幕位置
- UVA 753(最大流匹配)
- 【hihoCoder】Tower Defense Game
- 优秀程序设计的18大原则
- HDU_1175_连连看
- [leetcode]Word Frequency
- poj 2049 Finding Nemo 建图技巧型最短路
- netty5源码分析(1)--学习笔记
- 捉虫记2:windows程序句柄泄露的上下文环境
- block回调
- WPF 中获取DataGrid 模板列中控件的对像