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)\)中枚举,满足四个都不相等即可更新答案。
-
最坏情况下,\(a\)枚举了两次,分别与\(b,c\)相等,至少要3个数;\(d\)枚举了三次,分别与\(a,b,c\)相等,至少要4个数。为了方便,统一记录4个数。
-
需要注意\(f(i)\)要从1能到达的点,没写这个挂了好多。
因为固定了b和c之后,a和d怎么选只要是能到1的,都是正确的,所以可以贪心。
其实也可以看成DP,设\(f_{i,j}\)为中间点是\(i,j\)的环的所有集合,肯定尽量取另外两个点最大。
思路真滴很难想,玄学做法看题解区。
思路过程和优化(sort
部分,题解边加边排序),见这里。