比赛总结录
【寒假集训】20240206测试 90 / 400
T1.珠子 题目链接 0 / 100
思路:双指针,赛场上想到了,但是没有打出来代码。
T2.数组 题目链接 0 / 100
思路:暴力 + 记录。赛场上也想到了,但是赛场上忽略了一个点。又因为多打了几行而丢了 $40pts$。
T3.幸运区间 题目链接 60 / 100
思路:线段树维护GCD + 双指针。赛场上打的代码都对,但是因为手滑少开了一位而丢了 $40pts$。
T4.找不同 题目链接 30 / 100
思路:本人用的是DP,也是参考题解写出来的。赛场上打了个暴力。
总结:
这次比赛因为粗心丢掉的分数较多,应提高码力。
【寒假集训】20240218测试 50 / 400
T1.家庭作业 题目链接 0 / 100
思路:将每个数分解质因数,统计每个质因数的个数即可。因为所有数小于 $10 ^ 9$。赛场上想到了,也打出来了,但是有一点问题。又因为就剩 $30$ 分钟了,所以没有在多想,直接打了个暴力,没骗上分。
代码细节:要用 unordered_map
,不然复杂度太高。而且遍历的时候要用指针unordered_map<long long, long long>::iterator
,不然还是复杂度高。
T2.距离之和 题目链接 50 / 100
恶心!!!!!
思路:
-
$40pts$ 暴力。每次移动后计算和每个点的曼哈顿距离。
-
$100pts$ 将 $x$ 坐标和 $y$ 坐标分开考虑。先考虑 $x$ 坐标:将所有的点按照 $x$ 坐标升序排序,再二分查找机器人左(右)边的点的个数,因为和机器人在同一列的点在移动后与机器人的曼哈顿距离也会变大,算作另一边的点。
代码细节:注意特判!!!
T3.Country 题目链接 0 / 100
T4.太空飞船 题目链接 0 / 100
【寒假集训】20240219测试 210 / 400(全班唯一一个 $210$ 分)
T1.素数 题目链接 80 / 100
思路:欧拉筛筛掉质数,然后记录筛出来的质数的前缀和。然后暴力枚举两个前缀和的指针记录之间的差,再用一个数组记录中间的差出现的个数,就可以做到 $O(1)$ 查询了。
代码细节:不能用 unordered_map
或 map
,因为常数大会被卡。
T2.晨练 题目链接 100 / 100
思路:简单的三维 DP,考场上想出来并且 AC 了(快乐)。
T3.奇怪的桌子 题目链接 30 / 100
思路:
-
$10pts$ 纯暴力,枚举哪些位置要放。
-
$20pts$ 对于 $n = m$,答案即为 $C_{n \times m}^{num}$。
-
$100pts$ 对于第 $i$ 列,发现如果这些 $i % n$ 都相同的话,那么这些列中所画的点数应该都相同。所以可以用 $dp_{i,j}$ 表示到了第 $i$ 列,已经放了 $j$ 个的方案数。递推方程为 $dp_{i,j} = dp_{i,j} + dp_{i - 1,j - p} \times C(n,p)^{\frac{m}{n} + (i \le m \bmod n)}$。
代码细节:要预处理,不然会 $TLE\ 70pts$。
T4.学校 题目链接 0 / 100
恶心!!!
思路:先跑一遍最短路,建立一个 最短路图,然后在这个最短路图上面跑 Tarjan割边,过程中记录那些边是割边(桥),输出的时候可以做到 $O(1)$ 查询。考场上我以为只是一个很简单的最短路,但是因为我把板子忘了,所以我没打。下来了才发现还要用 Tarjan。
总结:
这次比赛打假的分较少,但是暴露出来了基础不好。应该夯实基础。
【寒假集训】20240221测试 105 / 400
T1.排序 题目链接 100 / 100
简单题!
思路:先排序,发现可以中分从中间分成两段长度相等的部分(一部分乘积加,一部分乘积减),对于每一段,为了使绝对值最大,肯定是让最大的乘次大的再减去最小的乘次小的,但是这样样例过不了。因为不能是最小的乘次小的应该是减去的部分的最小的乘上减去的部分最大的。
T2.牛吃草 题目链接 5 / 100
思路:二分 + 单调队列优化DP 谁家普及组第二题考这玩意儿。注意要判断双端队列是否为空和要加进去的元素。
T3.树上的宝藏 题目链接
讲不清楚,上题解 - Solution。
T4.MEX 题目链接
【寒假集训】20240222测试 220 / 400
T1.打赌 题目链接 100 / 100
思路:简单小模拟。
T2.舞会 题目链接 20 / 100
思路:男孩中的正整数肯定跟女孩中的负整数配对。考虑将男孩中的正整数和女孩中的负整数分别按绝对值排序。从小到大枚举男孩中的正整数,肯定选第一个比他大且能选的女孩,用指针扫即可。男孩负整数和女孩正整数同理。
代码细节:必须严格大于或小于。
T3.最小生成树 题目链接 0 / 100
思路:最小生成树的边权和一定是 $n - 1$ ,即除 $1$ 以外的点的父亲都为 $1$,那最小生成树每个点的父亲都应该与这个点互质,所以方案数就是每个点的编号的欧拉函数之积。欧拉函数用线性筛求。
T4.买汽水 题目链接 100 / 100
数据太水!!!考试的时候本来只是想打一个骗分,没想到竟然 AC 了!