如何在一场红橙黄绿的CSPS模拟赛拿到135pts高分
国庆放假就应该好好玩,为什么要去集训啊?不管了直接狠狠玩,晚上两点半再睡觉,然后六点半就要起来。没事的,在车上还能补 1h 的觉。
为什么今天会有模拟赛?开一眼题目,这个 T1 不是唐题吗?直接用什么 DP 搞搞搞,等等,我在干什么,这不是直接弄两个栈就可以了吗?直接写写写。这个 RE 又是什么意思,然后判一下 stack 非空,然后过了所有大样例。不是这个大样例为什么只有 \(n \le 10\)。车上补觉去了,打完 T1 就去吃个早餐,反正没有影响。
T2 怎么这么多数学式子,我看不懂啊,无脑化简化简最后得出了一个 \(x \in \left( \left \lceil \dfrac{a}{b+0.5} \right \rceil , \left \lfloor \dfrac{a}{b-0.5} \right \rfloor \right]\) 然后差分搞搞搞,判掉左边界的开区间就过掉所有大样例。虽然大样例的 \(n\) 都不到 \(10\) 的,但是代码能跑就行,不管了。
T3 怎么又出大模拟,直接记录 \((x,y,dir_a,dir_b)\) 然后按题意广搜不就完了吗?都什么年代了还在出这种弱智迷宫搜索。开一个 unordered_set 判重,然后 unordered_set 怎么不支持四元 tuple 和自定义 struct?那我就直接把状态转成一个字符串插入不就完了。一测大样例,调都没有调,全过了,这种题目还是太简单了。
不管了先睡一会,困死了,比赛还有 1h 结束,那就 30min 干掉 T4 或者打个暴力。T4 不是直接贪心能连就连吗?反正能写完的,没事,先睡。不是怎么考试结束了啊?
最终得分:\(100+20+15+0=135\),原因是 T2 差分数组下标没有判 \(<1\) 和 \(>m\) 然后爆了,T3 用字符串做标记常数超级大,不知道为什么赛时不用 vis[N][N][4][4] 这种东西的。赛后一看题解这居然是核桃 OJ 的 J 组模拟赛。以后再也不敢 2:30 睡觉了 /ll
实际上,都是 J 组模拟赛了,感觉四个题唯一有训练价值的就是 T4,所以还不如在家睡大觉(
放个题目在这里,欢迎随手踹飞
T1 Lv.1.5:给定长度为 \(n\) 的 01 串 \(s = s_1 s_2 \cdots s_n\)。一次操作:挑两个相邻且相同的字符,同时删掉;删完后剩下的字符保持相对顺序。记 \(r(t)\) 为从 \(t\) 出发能得到的串的最小长度,空串长度为 0。令 \(r_i = r(s_1 s_2 \cdots s_i)\),求 \(\sum_{i=1}^n r_i\)。数据范围:\(1 \le n \le 10^6\),\(s\) 只含 0 与 1。子任务为 15 + 15 + 25 + 45,捆绑计分。
T2 Lv.2.0:测量仪的单位刻度长度为正整数 \(x\)。测实际长度 \(a\) 时先算 \(\frac{a}{x}\),再四舍五入到最近的整数,得到显示值。本题规定:非负实数 \(y\) 满足 \(k - \frac{1}{2} \le y < k + \frac{1}{2}\) 时舍入为 \(k\),即恰好位于中点时向上取。有 \(n\) 条记录 \((a_i, b_i)\)。对每个候选 \(x = 1, 2, \dots, m\),求使 \(\frac{a_i}{x}\) 舍入为 \(b_i\) 的记录条数。输出一行 \(m\) 个整数。数据范围:\(1 \le n, m \le 2 \times 10^5\),\(1 \le a_i, b_i \le 10^9\)。子任务为 20 + 30 + 50,捆绑计分。
T3 Lv.3.1:\(n \times m\) 的网格,含起点 S、终点 T、障碍 #、顺时针校准器 C、镜像校准器 M 与空地 .。机器人有一份校准记录,初始为空;停在校准器上时把对应字符追加到末尾,字符按停留的时间顺序排列。每次行动前,从按钮的初始方向出发,依次读取整份记录来确定实际方向:C 将当前方向顺时针旋转 90°;M 关于竖直方向镜像,即上下不变、左右互换。按钮 A 初始向上、移动 1 格;按钮 B 初始向右、连续移动 2 格。路径经过的每一格都须在网格内且不是障碍。每次合法行动代价为 1,求停在 T 上的最少行动次数,做不到输出 -1。数据范围:\(1 \le n, m \le 2000\),\(2 \le n \times m \le 300000\),S、T 各出现一次且位于不同格子。子任务为 15 + 30 + 55,捆绑计分。
T4 Lv.4.1:\(n\) 个站点的树,\(n - 1\) 条双向道路;每个站点有标记 \(a_i \in \{0, 1\}\),\(a_i = 1\) 表示重要站点。两个重要站点 \(x, y\) 的联络路径是它们之间唯一的简单路径,长度按道路条数计,包含端点。选若干对重要站点,要求:每个重要站点至多作一对的端点;每对路径长度不超过 \(k\);任意两条被选中的联络路径没有公共站点,包括端点和中间站点。重要站点可以是某条路径的中间站点,但由于路径不能有公共站点,它不能再出现在另一条被选中的路径上。求最多能选出多少对。数据范围:\(1 \le n \le 2 \times 10^5\),\(0 \le k \le n - 1\),\(a_i \in \{0, 1\}\),输入保证是一棵树。子任务为 15 + 20 + 25 + 40,捆绑计分。

浙公网安备 33010602011771号