文章目录
- 水题记录2.4
-
- [CF1764E Doremy's Number Line](#CF1764E Doremy's Number Line)
- [CF403D Beautiful Pairs of Numbers](#CF403D Beautiful Pairs of Numbers)
- [CF1204E Natasha, Sasha and the Prefix Sums](#CF1204E Natasha, Sasha and the Prefix Sums)
- [CF675E Trains and Statistic](#CF675E Trains and Statistic)
- [CF735E Ostap and Tree](#CF735E Ostap and Tree)
- [CF441E Valera and Number](#CF441E Valera and Number)
水题记录2.4
CF1764E Doremy's Number Line
特判一下:
a 1 ≥ k a_1\ge k a1≥k 一定有解, a 1 + b 1 < k a_1+b_1<k a1+b1<k 一定无解。
注意到 1 1 1 在最后一定不劣,即变为后 n − 1 n-1 n−1 个操作尽量往右,最后看到达的右端 r + b 1 r+b_1 r+b1 能否到 k k k。
考虑 D P DP DP, a i a_i ai 升序排序时最优, f i f_i fi 为前 i i i 个操作能染色的最右端。
转移即为 f i = max ( min ( f i − 1 , a i ) + b i , max j = 1 i a j + b j , a i ) f_i=\max(\min(f_{i-1},a_i)+b_i,\max_{j=1}^ia_j+b_j,a_i) fi=max(min(fi−1,ai)+bi,maxj=1iaj+bj,ai)。
CF403D Beautiful Pairs of Numbers
不妨考虑 i i i 个区间(差值 + 1 +1 +1)的和。
记 f i , j f_{i,j} fi,j 表示选了 i i i 个互不相同的正整数,和为 j j j 的方案数。
不妨钦定选的数单调递增。
那么可以有转移:
转移: f i , j = f i − 1 , j − i + f i , j − i f_{i,j}=f_{i-1,j-i}+f_{i,j-i} fi,j=fi−1,j−i+fi,j−i。
具体意义为:在原有的 i i i 个数都加上 1 1 1,或者给原来的 i − 1 i-1 i−1 个数都加上 1 1 1,再加入一个 1 1 1。
则 a n s = ∑ i = 1 n k ! f k , i C k + n − i k ans=\sum_{i=1}^n k! f_{k,i} C_{k+n-i}^k ans=∑i=1nk!fk,iCk+n−ik
CF1204E Natasha, Sasha and the Prefix Sums
考虑对最大前缀和为 i i i 的序列计数。
容斥为最大前缀和大于等于 i i i 的序列个数(小于等于难算)。
将题意转变为向右上和右下到 ( n + m , n − m ) (n+m,n-m) (n+m,n−m)。
考虑最大前缀和大于等于 i i i 即为与 y = i y=i y=i 有交。
参考卡特兰数,将第一次碰到 y = i y=i y=i 以左的区域翻折上去,不重不漏。
即 ( 2 i , 0 ) (2i,0) (2i,0) 到 ( n + m , n − m ) (n+m,n-m) (n+m,n−m) 方案数,发现其为 C n + m n − i C_{n+m}^{n-i} Cn+mn−i。其中 i ∈ [ max ( 0 , n − m , n ) ] i\in[\max(0,n-m,n)] i∈[max(0,n−m,n)]。
那么便做完了。
CF675E Trains and Statistic
考虑让 f i f_i fi 表示 i i i 到 [ i + 1 , n ] [i+1,n] [i+1,n] 的最少花费之和。
考虑如何转移 f i f_i fi,不妨从后往前。
则有 f i = min j = i + 1 a i f j + n − i − ( a i − j ) f_i=\min_{j=i+1}^{a_i} f_j+n-i-(a_i-j) fi=minj=i+1aifj+n−i−(ai−j)
考虑线段树优化 f j + j f_j+j fj+j,那么就做完了。
CF735E Ostap and Tree
考虑树上 D P DP DP。
记 f u , i f_{u,i} fu,i 表示以 u u u 为根的子树合法,且离 u u u 最近的染色点距离为 i i i 的方案数。
记 g u , i g_{u,i} gu,i 表示以 u u u 为根的子树不合法,且离 u u u 最远的非染色点距离为 i i i 的方案数。
由于合并两个状态无法改变最远非法点的距离(如不不能变成合法的话),故第二维是 O ( k ) O(k) O(k) 的。
考虑合并:
f u , i × f v , j → f u , min ( i , j + 1 ) f_{u,i}\times f_{v,j} \rightarrow f_{u,\min(i,j+1)} fu,i×fv,j→fu,min(i,j+1)
g u , i × g v , j → g u , max ( i , j + 1 ) g_{u,i}\times g_{v,j} \rightarrow g_{u,\max(i,j+1)} gu,i×gv,j→gu,max(i,j+1)
对于合并 f u , i f_{u,i} fu,i 和 g v , j g_{v,j} gv,j,需要考虑 i + j + 1 i+j+1 i+j+1 和 k k k 的关系,分类讨论。
合并 g u , i g_{u,i} gu,i 和 f u , j f_{u,j} fu,j 同理。
时间复杂度 O ( n k 2 ) O(nk^2) O(nk2)
CF441E Valera and Number
发现 200 200 200 次 + 1 +1 +1 最对对第八位产生影响。
考虑 f i , j , k f_{i,j,k} fi,j,k 表示到第 i i i 次操作,低八位为 j j j,低八位的前面那一串数字中连续 0 0 0 或者 1 1 1 的个数。( 以 256 256 256 为界限,例如 257 257 257 表示前面有 1 1 1 个连续的 0 0 0)
考虑转移, × 2 \times 2 ×2 和 + 1 +1 +1 分开考虑。
分类进不进位。
× 2 \times 2 ×2,进位,则低八位的前面那一串数字,若原为一串 0 0 0,变成单个 1 1 1,否则就是 1 1 1 的长度加一。
其他几种情况同理考虑。