2023做题记录

发布时间 2023-11-06 15:18:17作者: monster_hunterqwq

本文同时发表于个人洛谷博客

部分收录于构造题部分

2023.11.3

Luogu P2467

上一次CF就是被这个trick坑了!/ng

\(dp_{i,j,k}\) 表示第 \(i\) 个在前 \(i\) 个中的位置为 \(j\) 时的方案数,\(k=0\)表示是山谷,\(k=1\) 表示是山峰,显然可以写出转移方程:

\[dp_{i,j,0}=\sum_{k=1}^{j-1} dp_{i-1,k,1} \]

\[dp_{i,j,1}=\sum_{k=j}^{i} dp_{i-1,j,0} \]

前缀和加滚动数组即可。

CF1761D 2100

小清新题。

考虑连续进位串。发现除了第一位必须要选择 (1,1),其他都可以任选(0,1),(1,0),(1,1)。

中间必须用(0,0)隔开。讨论连续段个数即可。时间复杂度 \(O(k\log n)\),可以做到 \(O(k)\)

2023.11.6

abc302h 空心橙

先考虑单个问题。每次操作在两点之间连边,发现对于每个联通块,如果是一颗树则是树的大小-1,否则为联通块大小。

用可撤销并查集维护即可,时间复杂度 \(O(n\log n)\)