首页 > 其他分享 >题解:AT_abc366_c [ABC366C] Balls and Bag Query

题解:AT_abc366_c [ABC366C] Balls and Bag Query

时间:2024-08-12 08:56:55浏览次数:14  
标签:cnt ch int 题解 sum Bag Balls read ans

题意

给你一个可重集,要求支持插入,删除,元素种类查询三种操作。

分析

直接乱搞,用一个桶记录每种数字的出现次数,再用一个变量 \(sum\) 记录元素种类数。

插入的时候看看当前该元素出现次数是否为 \(1\),删除的时候看看当前元素出现次数是否为 \(0\),如果是的话让 \(sum\) 相应加减即可。

查询的时候直接输出 \(sum\)。

Code

#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read()
{
	int w=1,s=0;char ch=getchar();
	while(!isdigit(ch)){if(ch=='-') w=-1;ch=getchar();}
	while(isdigit(ch)){s=s*10+(ch-'0');ch=getchar();}
	return w*s;
}
const int maxn=1e6+10;
const int mod=1e9+7;
int Q;
int cnt[maxn],ans;
signed main()
{
//	freopen("xxx.in","r",stdin);
//	freopen("xxx.out","w",stdout);
	cin>>Q;
	while(Q--)
	{
		int opt=read();
		if(opt==1)
		{
			int x=read();
			cnt[x]++;
			if(cnt[x]==1)
			{
				ans++;
			}
		}
		else if(opt==2)
		{
			int x=read();
			cnt[x]--;
			if(cnt[x]==0)
			{
				ans--;
			}
		}
		else printf("%lld\n",ans);
	}
	return 0;
}

标签:cnt,ch,int,题解,sum,Bag,Balls,read,ans
From: https://www.cnblogs.com/Lydic/p/18354286

相关文章

  • 题解 P6620【[省选联考 2020 A 卷] 组合数问题】
    直接摘抄OI-wiki了。第二类斯特林数第二类斯特林数(斯特林子集数)\(\begin{Bmatrix}n\\k\end{Bmatrix}\),也可记做\(S(n,k)\),表示将\(n\)个两两不同的元素,划分为\(k\)个互不区分的非空子集的方案数。递推式\[\begin{Bmatrix}n\\k\end{Bmatrix}=\begin{Bmatrix}n-1\\k-1......
  • l洛谷 P7870 兔已着陆——题解
    洛谷P7870题解传送锚点摸鱼环节「Wdoi-4」兔已着陆题目背景铃瑚和清兰是从月之都到达幻想乡的两只月兔。正因为降落到了幻想乡进行调查,因此她们通过开团子屋制作团子出售的方式,在幻想乡生活。为了应对越发繁荣的市场,她们向河城荷取购置了一台团子机器,可以高效地生产出五颜......
  • CF1264E Beautiful League 题解
    CF1264E你有一张竞赛图,给你竞赛图中\(m\)条边的方向,让你对于没有给定的边确定方向使得整张图的三元环个数最多\(n\leq50,m\leq\frac{(n-1)n}{2}\)费用流好题三元环是一个非常难考虑的东西,我们考虑求他的补集:不是三元环的个数最少我们发现不是三元环的情况是存......
  • CF1586E. Moment of Bloom 题解
    CF1586E胡桃是一个小恶作剧高手,她用这个图问题试图吓唬你!你有一个包含\(n\)个节点和\(m\)条边的连通无向图。你还需要处理\(q\)个查询。每个查询由两个节点\(a\)和\(b\)组成。最初,图中的所有边的权重都是\(0\)。对于每个查询,你必须选择一条从\(a\)开始并以\(b\)......
  • CF1515F Phoenix and Earthquake 题解
    CF1515F给定一张\(n\)个点\(m\)条边的无向连通图和正整数\(x\),点有非负权值\(a_i\)。如果一条边\((u,v)\)满足\(a_u+a_v\gex\),可以将\(u,v\)缩起来,新点的点权为\(a_u+a_v-x\)。判断这张图是否可以缩成一个点。如果是,还要输出每次缩的是哪条边。\(2\len\le3......
  • CF1654E Arithmetic Operations 题解
    CF1654E给定一个长度为\(n\)的序列\(a\)。问至少需要修改几个数才能使得\(a\)变为一个等差数列。\(n\leq10^5\),\(1\leqa_i\leq10^5\)。我们可以发现值域\(\leq10^5\)实属可疑,我们可以就这点进行分析考虑对于序列的公差\(d\),如果\(d\)太大的话经过若干......
  • CF1508C Complete the MST 题解
    CF1508C给定一个有\(n\)个节点的完全图,其中\(m\)条边有给定的边权,剩下的没有给定。你需要给所有没有给定边权的边赋上非负整数边权,使得所有边的边权的异或和等于\(0\)。我们认为这个图的“丑陋值”为这个图的最小生成树的边权之和,求所有可能的赋值方案中,“丑陋值”的最小......
  • ABC366 题解
    D-CuboidSumQuery三维前缀和。不过有一维范围小,可以暴力然后二位前缀和。E-ManhattanMultifocalEllipse横纵坐标的距离是独立的。扫描线扫横坐标,维护每个可行点的纵坐标的距离和,查询就是\(\lex\)的数的个数。可以通过桶做到线性。F-MaximumCompositionExchan......
  • HDU 不要62 题解
    题目传送门思路数位dp数位dp数位dp模版题。依次考虑每一位,满足题目给出的限制,统计数量,是一些较简单的数位dp题目的过程。数位dp运用了差分的思想,即求\(ans(l-r)\)的答案用\(ans(1-r)-ans(1-(l-1))\)来表示.对于本题,我们需要满足的性质很简单:使数不超......
  • P1502 窗口的星星 题解
    题目传送门。思路扫描线扫描线首先,将题目中给出的条件和问题进行转化:首先先不考虑边框上的点不算在内的限制,考虑一个点可以对那些矩形产生贡献。只考虑矩形的右上角,容易发现,每个星星的亮度只对右上角在以星星为左下角的长为\(W\),高为\(H\)的矩形有贡献。如图。那么便可......