「10.15」梦境(贪心)·玩具(神仙DP)·飘雪圣域(主席树\树状数组\莫队)

 

A. 梦境


没啥可说的原题....

贪心题的常见套路我们坐标以左端点为第一关键字,右端点为第二关键字

然后对于每个转折点,我们现在将梦境中左端点比他小的区间放进$multiset$里

然后找最近的右端点,

然后没了......

思路总结:

1.贪心套路,坐标排序,最优性选择

2.再有原题一定要赶紧打

B. 玩具


 

大神题,我考场再也不敢肝期望了kukuku

定义三个数组

$dp_{i,j}$表示当前森林中有$i$个点,然后有$j$个点在第一棵子树的概率

$f_{i,j}$表示当前树有$i$个点,深度小于等于$j$的概率

$g_{i,j}$表示当前森林有$i$个点,深度小于等于$j$的概率

然后我们开始转移意淫

首先$dp_{i,j}=dp_{i-1,j-1}\times inv_{i} \times (j-1)+dp_{i-1,j}\times inv_{i}\times (i-j)$

后面的$\times (i-j)$是因为有单独成树的情况

然后$f_{i,j}=g_{i-1,j-1}$这是直接转移的,因为只能这样连啊.....

对于$g_{i,j}=\sum_{k=1,n} f_{k,j}\times g_{i-k,j}\times dp_{i,k}$,

非常神仙的转移方程,我们让森林为一个子树和森林合成,枚举子树的点数,在乘上$i$个节点的树中第一个子树有

$k$的概率

 

C. 飘雪圣域


很值得反思的一道题,

考场推$T2$推到心态爆炸,$T3$没细心想想要用回滚莫队骗分,我数据结构学傻了吧..................

首先有个性质,联通块数等于点数减边数

所以考虑问题转化:

给定二元组$a,b$,问$L<=a<=R && L<=b<=R$的个数

做法很多

比较好实现的有

1.树状数组套$vector$

我们在树状数组中插入$a$,然后查询时在树状数组的每个节点中$lower\_bound$比$L$大的值

复杂度$O(nlog(n^2))$

2.莫队,

因为本题的特殊性,莫队可以$O(1)$转移

因为是树上的转移,我们可以记录每个节点的$sum_{x}$表示节点的孩子数

同时记录他的父亲,仔细想想可以$O(1)$转移

3.主席树

这个我没打......我好像太懒了.....

 

 

posted @ 2019-10-15 17:53  Wwb_star  阅读(124)  评论(0编辑  收藏  举报