Processing math: 100%


UNR 1 题解

争夺圣杯

求所有 m,所有长度为 m 的区间的 max 值之和,之 xor 和。

当前在某个 i,设 p=min(iLi,Rii), q=max(iLi,Rii),对下面这三个区间的贡献:

  • len[p,q]:hpip
  • len[1,p1]:hpilen
  • len[q+1,p+q1]:hpi(p(lenq))

就是加一次函数。前缀和随便做?

👇这个 sb 因为忘记取模 WA 了一发= = 所以读题要仔细啊!!!

Code

合唱队形

n=m 时,假设总共有 p 节课,当前有 r 个人。那么拓展到 r+1 的概率就是 mrp,期望次数是 pmr, ans=m1i=0pmi

ti 表示以第 i 个人为开头的队形组成的期望时间,min-max 容斥,现在要算 max(ti)。显然答案只和课程数有关!

  • nm+1 较小时,O(n2nm+1) 暴枚即可,就和 n=m 一样算。
  • nm+1 较大,就是说 m 比较小,可以考虑 dp:fi,j,k 表示到第 i 个人,im 个人为开头的队形选择状态为 j,有 k 个课程要教的方案数(是带 min-max 容斥系数的)

题还不错,就是做法割裂开了,有点降好感诶 = =

Code

火车管理

区间压栈,单点弹栈,区间询问栈顶

13 操作一棵线段树,2 操作一棵主席树。主席树存时间,得到的时间也可以作为下标查询某位置的上一个版本。

代码咕了。

wangyisong1996 给出了一个二叉树的神仙做法,待补。