1.17模拟赛题解

T1

\(dp_{i,j}\)\(i+j\) 个人站队,第一排站 \(i\) 个人的方案数。

每次对相同身高的一段人进行转移。暴力复杂度是正确的。

时间复杂度 \(O(n^2)\)

T4

考虑二分答案,设当前 check 的值为 \(t\)

那么 \(i\)\(j\) 在这段时间内发生碰撞等价于 \(p_i\le p_j,p_i+v_i\cdot t\le p_j+v_j\cdot t\)\(i,j\) 类型不同。

可以按类型排序,以 \(p\) 为下标维护一棵线段树。

时间复杂度 \(O(n\log SIZE\log n)\)

T3

设先手取得的总和为 \(A\),那么最后的价值为

\[|A|-|S-A|= \begin{cases} S\space\space\space\space\space\space\space\space\space\space\space\space(A\geq S)\\ 2A-S\space\space(0\leq A<S)\\ -S\space\space\space\space\space\space\space\space\space(A<0) \end{cases} \]

容易发现这个函数单调不减,因此每个人每次都会选当前最大的。

时间复杂度 \(O(n\log n)\)

T4

暴力。

时间复杂度 \(O(\)能过\()\)

posted @ 2023-01-17 15:11  Egg_eating_master  阅读(112)  评论(0)    收藏  举报