CF1763D Valid Bitonic Permutations
巨大多分类讨论。枚举 \(n\) 的位置 \(k\),分以下几类(默认 \(i<j\),即 \(x\) 位置在 \(y\) 前面)。
-
\(k<i,x>y\)
-
\(k=i,x=n\)
-
\(k>j,x<y\)
-
\(k=j,y=n\)
-
\(i<k<j\)
前 4 种情况均可组合数乱搞,最后一种不会了,我来 \(dp[i][j]\) 表示填了 \(1,2\dots,i\), \(k\) 左边填了 \(j\) 个。枚举到 \(x\) 和 \(y\) 时特判只能放左 / 右而且第二维有限制。直接做。
CF1762F Good Pairs
咕。
CF1774E Two Chess Pieces
一个棋子 \(x\) 必经一个点需要满足下面两个条件或之中的一个:
-
这个点的子树里有 \(x\) 的必经点。
-
这个点的子树中另一个点的最深必经点和这个点深度差大于 \(k\)。
容易理解。
每个棋子的非 1 必经点会贡献两步(从父亲走过去再走回来),算就行了。哪来的dp
CF1808C Unlucky Numbers
把 \([l,r]\) 拆成一堆 \([x,x+10^k)\)(\(x\) 的后 \(k-1\) 位都是 0),每个区间有一个公共前缀,后面随便填。随便填的部分必然全填前面前缀中最小值和最大值之间的数,即没有影响。
共 \(O(\log_{10} r)\) 个区间,暴力跑就行。哪来的dp