23/10/14 模拟赛总结

发布时间 2023-10-16 11:18:11作者: cannotdp

时间安排

7:40 - 7:50

看题。

7:50 - 8:50

A 题看了一会意识到是并查集,但是我没有发现只需输出亮着的魔法灯的个数模 2 意味着什么,直接统计了个数,于是被 1 操作给卡了。想了很长时间才发现只需维护奇偶就可以。

8:50 - 10:00

写了个 B 的爆搜,同时输出了方案。通过几个样例的最优解的方案猜了个结论,直接通过大样例。

10:00 - 11:30

C 题写完爆搜也如法炮制输出了方案,但是并没有发现什么规律。于是开始写 60 分的区间 DP。cannotdp 石锤了,比较简单的 DP 写了一个小时,最后还挂了 10 分。

11:35 - 11:50

D 题随便输出了个 1,检查 freopen 和 子文件夹。

总结反思

  1. 总是被简单的地方卡住,转不过弯。
  2. DP 熟练度还是不够。

题解

A.魔法灯

并查集板子。

B.战争

找规律,直接贪心。

C.消消乐

打表发现最优策略是把 1 留到最后删,每段分别删。

D.小球进洞

对于两个 \((x_i,y_i)\)\((x_j,y_j)\),若 \(x_i<x_j\)\(y_i>y_j\),则若 \((x_i,y_i)\) 是向右的,那么 \((x_j,y_j)\) 也必须是向右的。换句话说,把“向右”叫做“选”这可以等价成求一个上升子序列;“向左”叫做“不选”,如果\(x_i<x_j\)\(y_i>y_j\)\(i\)“选了”,\(j\) 就必须“选”。这可以等价成求一个上升子序列,所以只需要求一个上升子序列计数。