手打不易给个赞吧QWQ
模考总结
头图
松鸦羽万岁万岁万万岁!!!
题目
T1题目描述
你有一个空袋子。给你 QQ个 查询,必须按顺序处理。
查询有三种类型。
1 x
:将一个标有整数 xx 的球放入袋子中。2 x
:从袋子中移除一个标有整数xx的球并丢弃它。当这个查询被给出时,保证袋子中有一个标有整数 xx 的球。3
:打印袋子中球上写着的不同整数的数量。
输入格式
输入从标准输入给出,格式如下:
Q
query1
query2
⋮
queryQ
第 ii 个查询 queryiqueryi 以以下三种格式之一给出:
1 x
2 x
3
输出格式
如果有 K 个第三类型的查询,请打印出 K行。第 i行 (1≤i≤K)(1≤i≤K) 应该包含第 i 个第三类型查询的答案。
T2题目描述
四年级的小信有着惊人的计算天赋,他能快速判断一个数是否为3的倍数,对此你半信半疑,决定亲自验证他的能力。于是,你精心挑选了n个整数,小信将逐一判断这些数字是否为3的倍数。如果是,输出“Yes”;否则输出“No”。
输入格式
第一行一个整数n,接下来n行,每行一个整数。
输出格式
n行,每行输出“Yes”或者“No”。
T3题目描述
小信在 nn 行 mm 列的地图上找硬币,地图上每个点都有一个值 a[i][j]a[i][j], a[i][j]a[i][j] 表示地图上单元格 (i,j)(i,j) 的硬币数量。如果 a[i][j]a[i][j] 是 00,表示这个单元格没有硬币。如果 a[i][j]a[i][j] 大于 00,表示这个单元格有 a[i][j]a[i][j] 个硬币。如果 a[i][j]a[i][j] 是 −1−1,表示这个单元格是不可到达的区域。小信的从任意位置出发并且每次可以向上、下、左、右四个方向移动。小信有一个破墙锤,但是只能用一次, 相当于把某处的 −1−1 改为 00。你的任务是帮助小信计算,他最多可以收集多少个硬币。
输入格式
第一行有两个整数 n,mn,m。
接下来 nn 行每行 mm 个整数,依次代表每个方格中的整数。
输出格式
一个整数,表示小信能收集到的硬币的最大值。
T4题目描述
给定 NN 个线性函数 f1,f2,…,fNf1,f2,…,f**N,其中 fi(x)=Aix+Bif**i(x)=Aix+B**i。
对于一个包含 KK 个不同整数(范围为 11 到 NN)的序列 p=(p1,p2,…,pK)p=(p1,p2,…,p**K),求表达式 fp1(fp2(…fpK(1)…))f**p1(f**p2(…fpK(1)…)) 的最大可能值。
输入格式
输入从标准输入以以下格式给出:
N K
A1 B1
A2 B2
⋮
AN BN
输出格式
输出答案,结果为一个整数。
T5题目描述
给定 NN 个点 (x1,y1),(x2,y2),…,(xN,yN)(x1,y1),(x2,y2),…,(x N,y N) 在二维平面上,以及一个非负整数 DD 。
找到满足以下条件的整数对 (x,y)(x,y) 的数量:∑i=1N(∣x−xi∣+∣y−yi∣)≤D∑i=1N(∣x−x**i∣+∣y−y**i∣)≤D
输入格式
输入将按照以下格式从标准输入给出:
N Dx1 y1x2 y2⋮xN yNN D**x1 y1x2 y2⋮x**N y**N
输出格式
输出答案。
答题情况
T1、T2 AC(XYD题目水的一批)
T3 暴力90pts(XYD数据水的一批)
T4 暴力40pts(XYD数据水的一批)
T5 输出零骗分 30pts(XYD数据水的一批)
答题思路
T1
开始想用vector,但感觉操作2用vector很烦 绝不是我不会,后来又想到优先队列,但优先队列删除操作也很烦绝不是我忘了咋定义优先队列,后来想到用数组,操作三时遍历一遍,打着打着发现其实只要再操作一二时统计是不是加入的第一个和移除的最后一个就行了,桶嘛!天才如我!绝不是赛中瞎写赛后才意识到的,很简单就AC了。
T2
……这题,说实话,送分题,根据小学某阶段学过的内容,只要一个数所有数位加起来是三的倍数,那么这个数就是三的倍数,我用string就AC了。
T3
其实仔细一看,就是一个求连通块内最大价值的问题,我直接dfs暴力大法,数组方面由于范围是n*m不好判断,所以我用的vector,
然后破墙锤就更简单了,只要遍历每个-1,都拆一遍,从拆掉的位置捡一遍硬币,求最大值就能得出答案,不要管不用破墙锤的情况,应为使用破墙锤一定比不用破墙锤更优或相等废话。然后完美暴力90pts(数据好水,拿90我自己都觉得不可思议)。
T4
题目看的好烦,直接递归枚举暴力,不多废话,40pts(好水暴力仙人了属于是)
T5
不会,看不懂。骗分输出0,30pts(好水啊)
反思
T1、T2没啥好说的
T3……我应该学好对应算法
T4同上,再+数学知识
T4骗分时我应该加上样例