摘要: HNOI2017 "单旋" (线段树、set) 手玩旋转操作(忽略手玩过程)可以发现:一次单旋对原树的变化实际上很小。 对于父子关系,单旋最小值会将$Spaly$上最小值变成原来根的父亲,将最小值的点右子树变为它父亲的左子树,单旋最大值相反; 对于$dep$的变化,单旋最小值时,除了最小值点和它的右 阅读全文
posted @ 2019-02-21 22:26 cjoier_Itst 阅读(516) 评论(4) 推荐(0) 编辑
摘要: HNOI2014 "世界树" (虚树、倍增) $\sum M \leq 3 \times 10^5$虚树没得跑 对于所有重要点和它们的$LCA$建立虚树,然后计算出每一个虚树上的点被哪个重要点控制。注意这里不仅要从父亲向儿子DFS一次,还要从儿子向父亲DFS一次,因为有可能某些重要点向上控制一些点。 阅读全文
posted @ 2019-02-21 20:25 cjoier_Itst 阅读(299) 评论(6) 推荐(0) 编辑
摘要: HNOI2018 寻宝游戏(位运算、基数排序) 看到位运算就要按位考虑。二进制下,$\land 1$与$\lor 0$没有意义的,$\land 0$强制这一位变为$0$,$\lor 1$强制这一位变为$1$ 那么如果某一位的答案要为$0$,也就意味着:要么同时不存在$\land 0$与$\lor 1 阅读全文
posted @ 2019-02-21 16:00 cjoier_Itst 阅读(364) 评论(0) 推荐(0) 编辑
摘要: HNOI2015 "亚瑟王" (概率DP) 根据期望的线性性,我们只需要算出每一种卡牌触发的概率就可以算出期望的值 考虑与第$i$张卡牌触发概率相关的量,除了$p_i$还有前$i 1$张卡牌中触发过的卡牌的数量。 假设前$i$张卡牌中触发了$j$张的概率为$f_{i,j}$,那么第$i$张卡牌的触发 阅读全文
posted @ 2019-02-21 11:08 cjoier_Itst 阅读(252) 评论(0) 推荐(1) 编辑