Processing math: 100%

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

 

A. 梦境


没啥可说的原题....

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

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

然后找最近的右端点,

然后没了......

思路总结:

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

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

B. 玩具


 

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

定义三个数组

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

fi,j表示当前树有i个点,深度小于等于j的概率

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

然后我们开始转移意淫

首先dpi,j=dpi1,j1×invi×(j1)+dpi1,j×invi×(ij)

后面的×(ij)是因为有单独成树的情况

然后fi,j=gi1,j1这是直接转移的,因为只能这样连啊.....

对于gi,j=k=1,nfk,j×gik,j×dpi,k

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

k的概率

 

C. 飘雪圣域


很值得反思的一道题,

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

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

所以考虑问题转化:

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

做法很多

比较好实现的有

1.树状数组套vector

我们在树状数组中插入a,然后查询时在树状数组的每个节点中lower_boundL大的值

复杂度O(nlog(n2))

2.莫队,

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

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

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

3.主席树

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

 

 

posted @   Wwb_star  阅读(129)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示