NOIP 第八次

A

双指针,线段树。

B

第一问比较简单,只说第二问。设当前队列大小为 $s$。

维护 $p_i$ 表示 $i$ 时刻插入的数当前在队列中的概率,$q_i$ 表示 $i$ 时刻插入的数当前期望被删的时间,

则插入会对 $p$ 单点赋 $1$,$T$ 时刻的删除会对 $q$ 中除最大值的位置加上 $\dfrac{Tp_i}{s-1}$,然后对 $p$ 中除最大值的位置全局乘 $\dfrac{s-2}{s-1}$,

发现这个很像历史和,维护一下系数就完了。

$s=2\to 1$ 的删除操作好像不太好做,所以按这样的操作把问题划分成若干子问题,

这样每个子问题中只有一个这种操作,就可以暴力了。

C

设 $f_{l,r,k}$ 表示 $[l,r]$ 中所有数减 $k$ 的答案,考虑转移,

要么删去最大值 $p$ 的一列,由 $f_{l,p-1,k}+f_{p+1,r,k}$ 转移,

要么设最小值为 $q$,删去最下面的 $q$ 行,由 $f_{l,q-1,a_q}+f_{q+1,r,a_q}$ 转移。

有效状态只有 $O(n^2)$ 种,哈希记搜即可。

D

改不出来。

posted @ 2023-11-05 17:42  5k_sync_closer  阅读(1)  评论(0编辑  收藏  举报  来源