摘要: ###随机立方体 Luogu LOJ UOJ 首先很显然的是最多存在$lim=\min(n,m,l)$个极大数字,记$V=nml$。 设$f_i$表示有至少$i$个极大数字的概率,$g_i$表示恰好有$i$个极大数字的概率,那么根据二项式反演我们有 \(f_i=\sum\limits_{j=i}^{ 阅读全文
posted @ 2020-06-03 20:09 Shiina_Mashiro 阅读(303) 评论(0) 推荐(0)
摘要: 青蕈领主 Luogu LOJ UOJ BZOJ 我们用$L_i$表示以$i$为右端点的极长连续区间。 可以发现极长连续区间之间要么包含要么相离,因此我们可以用一棵树形结构来表示,且这棵树的根就是$L_n$。 考虑从下往上dp计算出方案数,设$f_i$表示$L_i$子树的方案数。 对于点$u$,我们有 阅读全文
posted @ 2020-06-03 19:54 Shiina_Mashiro 阅读(200) 评论(0) 推荐(0)
摘要: Link 我们可以发现最后选出来的串的长度一定是$ans,\cdots,1$。 因为若连续的两个串长度为$i+2,i$,那么一定可以通过把长度为$i+2$的串删除首/尾的字符使得长度连续且答案不劣。 设$f_i$表示强制$str_i$为某个答案串的开头时$suf(i)$的答案。 考虑枚举后一个答案串 阅读全文
posted @ 2020-06-03 17:18 Shiina_Mashiro 阅读(162) 评论(0) 推荐(0)
摘要: Link 不难证明第一次相遇的两个点一定相邻,这是显然的。 如果我们确定了第一次相遇的点对以及其运动状态,那么我们就确定了相遇的时间,且其它的点对都不能比它更早相遇,因此考虑将所有相遇的方案按时间升序排序之后依次处理。 设$f_{i,0/1}$表示考虑到第$i$个点,上一个点的运动状态为$0/1$, 阅读全文
posted @ 2020-06-03 15:09 Shiina_Mashiro 阅读(257) 评论(0) 推荐(0)
摘要: Link 设$f_{i,a,b,c}$为第$i$次攻击时,场上还有$a,b,c$个$1,2,3$血的随从的概率。 转移随便讨论一下就行了。 设$g_i$表示前$i$次攻击对 Boss 造成的期望伤害,转移就是$\frac1{a+b+c+1}f_{i,a,b,c}\rightarrow g_i$。 因 阅读全文
posted @ 2020-06-03 10:10 Shiina_Mashiro 阅读(123) 评论(0) 推荐(0)
摘要: Link 设$f_{i,j,k}$表示只考虑前$i$行,这$i$行都连通,且第$i$行剩下的瓷砖区间为$[j,k]$的概率。 不难得到转移$f_{i,j,k}=p_{j,k}\sum\limits_{[l,r]\cap[j,k]\ne\emptyset}f_{i-1,l,r}$。 其中$p_{j,k 阅读全文
posted @ 2020-06-03 09:23 Shiina_Mashiro 阅读(174) 评论(0) 推荐(0)
摘要: Link 考虑用两个栈模拟双端队列,每次加进来一个元素就处理出新的背包数组。 查询的话不妨固定左边的栈的特征值,那么右边的栈可以取到的特征值是一个区间,单调队列维护即可(我写的ST表)。 删除的话直接把元素弹出栈就行了,不用管背包数组(当然memset一下也没有问题)。 可能会出现把一个栈删空了的情 阅读全文
posted @ 2020-06-03 08:23 Shiina_Mashiro 阅读(292) 评论(0) 推荐(0)