CSP-S 2022 补题笔记

假期计划

做法:维护\(f(i,k)\)\(i\)\(1\)能到的点中权值第\(k\)大的(\(k \in [1,4]\))。设四个景点按照访问顺序分别为\(a, b, c, d\),枚举 \(b\)\(c\)\(a\)\(d\)分别从\(f(b)\)\(f(c)\)中枚举,满足四个都不相等即可更新答案。

  1. 最坏情况下,\(a\)枚举了两次,分别与\(b,c\)相等,至少要3个数;\(d\)枚举了三次,分别与\(a,b,c\)相等,至少要4个数。为了方便,统一记录4个数。

  2. 需要注意\(f(i)\)要从1能到达的点,没写这个挂了好多。

因为固定了b和c之后,a和d怎么选只要是能到1的,都是正确的,所以可以贪心。

其实也可以看成DP,设\(f_{i,j}\)为中间点是\(i,j\)的环的所有集合,肯定尽量取另外两个点最大。

思路真滴很难想,玄学做法看题解区。

思路过程和优化(sort部分,题解边加边排序),见这里

posted @ 2022-11-20 21:36  Zlc晨鑫  阅读(35)  评论(0)    收藏  举报