[ABC366C] Balls and Bag Query 题解
1.[ABC347C] Ideal Holidays题解2.《扶苏的问题》题解
3.[ABC366C] Balls and Bag Query 题解
4.[ABC366D] Cuboid Sum Query 题解5.P7706 文文的摄影布置 题解6.[ABC370C] Word Ladder 题解7.P11020 「LAOI-6」Radiation 题解8.P11019 「LAOI-6」[太阳]] 请使用最新版手机 QQ 体验新功能 题解9.[ABC371D] 1D Country 题解10.[ABC371D] 1D Country 线段树解法11.P1955 程序自动分析 题解12.[ABC376E] Max × Sum 题解13.[ABC379D] Home Garden 题解14.P11276 第一首歌 题解15.[ABC380C] Move Segment 题解[ABC366C] Balls and Bag Query 题解
首先是题面的翻译:
你有一个袋子,给予
- 1
,将一个 写有整数 的球放入袋中。 - 2
,从袋中取出一个写有整数 的球。 - 3 ,查询袋中球上的不同整数的数目。
整理了一下思路,发现此题并不难。
由于
AC code:
#include <bits/stdc++.h>
#define seq(q, w, e) for (int q = w; q <= e; q++)
#define ll long long
using namespace std;
const int maxn = 2e6+10;
int a[maxn];
int n,op,sum,tot;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n;
seq(i,1,n){
cin>>op; //操作
if(op==1){
cin>>sum;
if(!a[sum]){ //如果a[sum]之前是0,现在非零,更新tot
tot++;
}
a[sum]++;
}
if(op==2){
cin>>sum;
a[sum]--;
if(!a[sum]){ //若更新后,a[i]归零,更新tot
tot--;
}
}
if(op==3){
cout<<tot<<endl;
}
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】