BZOJ 2120 色彩数 暴力

标题效果:给定一个序列,两种操作:

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);
		}
	}
}

版权声明:本文博主原创文章。博客,未经同意不得转载。

时间: 2024-08-09 21:59:26

BZOJ 2120 色彩数 暴力的相关文章

【BZOJ 2120】 数颜色

Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2. R P Col 把第P支画笔替换为颜色Col.为了满足墨墨的要求,你知道你需要干什么了吗? Input 第1行两个整数N,M,分别代表初始画笔的数量以及墨墨会做的事情的个数.第2行N个整数,分别代表初始画笔排中第i支画笔的颜色.第3行到第2+M行,每行分别代表墨墨会做的一件事情,格

【BZOJ】【2120】数颜色

莫队算法 分块大法吼 这题乍一看跟HH的项链很像啊……只是多了一个修改操作……然而我就不会做了 分块来搞吧!像糖果公园那样= =按左端点所在块为第一关键字,右端点所在块为第二关键字,修改时间为第三关键字…… 然后暴力搞呗…… 照着糖果公园的代码yy了半天终于是yy出来了……然而跪了…… RE & TLE:我是傻逼!c1和c2的声明跟cmd[5]放在一起了!应该是整型声明成char了! Orz lct1999 ,编译时加 -Wall 就会提醒这些傻逼错误……新技能get√ 1 /*********

bzoj 2120: 数颜色 线段树套平衡树

/************************************************************** Problem: 2120 User: wangyucheng Language: C++ Result: Time_Limit_Exceed ****************************************************************/ #include<iostream> #include<cstdio> #incl

BZOJ 1978 取数游戏(DP)

题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1978 题意:给出一个数列a,在其中找出下标依次增大的数,使得任意相邻的两个数的最大公约数大于等于m.找出最多的数字. 思路:f[i]表示前面的数字中最大公约数为i可以找出的最多的数字个数.那么对于当前数字x: 接着更新f: int f[N],a[N]; int n,m; int main() { RD(n,m); int i; FOR1(i,n) RD(a[i]); int j,k;

[bzoj 1026]windy数(数位DP)

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1026 分析: 简单的数位DP啦 f[i][j]表示数字有i位,最高位的数值为j的windy数总个数 那么f[i][j]=singma(f[i-1][k])(|j-k|>=2) 那么对于1~x(假设x从高到低的每位依次是x[n],x[n-1],……x[1])中的windy数个数就是f[n][0]+f[n][1]+……f[n][x[n]-1] + f[n-1][0]+f[n-1][1]+……f[

BZOJ 1054题解 BFS暴力求解

BZOJ 1054题解 BFS暴力求解 1054: [HAOI2008]移动玩具 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1884  Solved: 1033[Submit][Status][Discuss] Description 在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动 时只能将玩具向上下左右四个方向移动,并且移动的位置不能有玩具,请你用最少的移动次数将初始的玩具状态移 动到某人

BZOJ 2120 数颜色 暴力

题目大意:给定一个序列,提供两种操作: 1.查询[l,r]区间内有多少不同的数字 2.单点修改 n,m<=1W 树套树?主席树?啥都不需要!这题暴力才2s,不要想复杂了!妥妥水过! 数字离散化一下!标记用时间戳代替!675B秒切!不是一般爽! ...好吧如果觉得这样没啥意思可以试试树状数组套bitset 应该会快一些 总之50%达成 假期进度:66.7% 死ね #include<cstdio> #include<cstring> #include<iostream>

bzoj 2120 数颜色

2120: 数颜色 Time Limit: 6 Sec  Memory Limit: 259 MBSubmit: 5039  Solved: 2012 Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2. R P Col 把第P支画笔替换为颜色Col.为了满足墨墨的要求,你知道你需要干什么了吗? Input 第1行两个整数N,M,分别

bzoj 2120: 数颜色(带修改的莫队算法)

2120: 数颜色 Time Limit: 6 Sec  Memory Limit: 259 MB Submit: 2908  Solved: 1130 [Submit][Status][Discuss] Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2. R P Col 把第P支画笔替换为颜色Col.为了满足墨墨的要求,你知道你需