10.6闲话
欸我草今天挺有意思。
上午模拟赛,挺没意思的,被高一学长、神包峰学长、初二学长、高二学长暴打了🤣🤣🤣,菜逼。
T1 打出来表 1MB 尝试压表无果,找规律成功,最终被模数 \(998244853\) 坑 50 pts。T2 不会。T3 搞出来 \(O(n^2)\) dp 不会了。T4 不会。
最终分数:\(50+50+60+10=170\),rk5。被暴打了。
还得是神包峰学长牛逼啊!
今天破事少,但是嘴上火了,嘴特别他妈的干。然后导致喝水特别多,半个小时去了三趟厕所/qd
我好像知道为啥我上火了
我直接对着恋恋和芙兰的小脚舔舔舔🥰:
@sbf 给道数列题
sbf:
woc
你这名字好变态啊
戴老师抢我的恋恋和芙兰/fn
哦哦昨天还有两条语录没放
lbx:想念首旅京伦的大神播饭了
推歌:蜘蛛糸モノポリー -sasakure.UK
CF1679F
本题中要对这些数字的等价类计数,我们考虑选出代表元。可以直接钦定一个等价类中,字典序最小的数为代表元。那么我们就考虑哪些数字可能成为代表元。
我们发现如果一个数存在 \(i<j\),使得 \(a_i>a_j\) 并且 \(j\) 可以交换到 \(i\) 这个位置,那么这个数绝对不是字典序最小的。证明是显然的。那么我们现在的目标就是:找到有多少个数满足对于每个位置都不存在在它后面可以交换到它并且比它小的数。
我们考虑 dp。我们设 \(f_{i, s}\) 为当前填到了第 \(i\) 位,下一位不能填 \(s\) 这个集合中的数字。转移则枚举下一位填什么。我们再预处理出来 \(to_{s, i}\) 来方便转移,其含义为:\(s\) 中的数字不能填,下一位填 \(i\) 时会转移到什么状态。\(to\) 的预处理是平凡的。
复杂度 \(O(n\times 2^{10}\times 10)\)。