上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 66 下一页
摘要: "传送门" 解题思路 点分树其实就是在点分治的基础上,把重心连起来。这样树高是$log$的,可以套用数据结构进行操作。这道题是求最远距离,所以每个点维护两个堆,分别表示所管辖的子树的最远距离和到父节点的距离,再维护一个全局堆表示答案。修改的时候就从这个点开始暴力往上跳,每次修改到父节点的距离从而影响 阅读全文
posted @ 2019-01-17 21:23 Monster_Qi 阅读(240) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 设$f(x)$表示到$x$这个点的期望次数,那么转移方程为$f(x)=\sum\frac{f(u) (1 \frac{p}{q})}{deg(u)}$,其中$u$为与$x$相连的点,$deg(u)$为$u$的度数。转移方程很好理解的,而每个点的爆炸概论就等于$f(x) \fra 阅读全文
posted @ 2019-01-17 10:28 Monster_Qi 阅读(159) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 首先构造出一个生成树,考虑不连接的情况。假设连通两点的非树边和树边都断掉后不连通,那么可以给所有的非树边随机一个互不相同的值,然后树边的权值为过他两端点的非树边权值的异或和,这个可以用一个类似树上差分的东西来实现。询问的时候把所有询问的边权加到线性基里,看是否某个数字能被线性表 阅读全文
posted @ 2019-01-17 09:13 Monster_Qi 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 解题思路 $nim$游戏先手必胜的条件是异或和不为$0$,也就是说第一个人拿走了若干堆后不管第二个人怎么拿都不能将剩余堆的异或和变成$0$。考虑线性基,其实就是每个数对线性基都有贡献,任何一个数不会被线性表出,要使拿走元素最少,考虑贪心,将所有数字从大到小依次尝试插入线性基,插入失败就累计到答案。 阅读全文
posted @ 2019-01-17 07:57 Monster_Qi 阅读(116) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 题意好绕。。大概意思就是找$k$的排名,元素可重复。考虑线性基,假设$n$个数构成$s$个基,那么剩余的$n s$个元素一定会被这$s$个基线性表出,所以它们可以选与不选,所以每个元素有$2^{n s}$种取法。然后算出不重复时$k 1$的排名,再乘上$2^{n s}$,$+1 阅读全文
posted @ 2019-01-17 07:42 Monster_Qi 阅读(192) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 首先构造出线性基,需要对线性基进行改造,就是让$0$~$63$中的每一位只存在于其对应线性基上,也就是高斯消元的过程。这样的话把线性基有值的位拿出,求第$k$小,就是若$k$二进制中第$i$位存在,就使答案异或上线性基中第$i$小。注意$0$的判断。 代码 cpp includ 阅读全文
posted @ 2019-01-16 22:07 Monster_Qi 阅读(118) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 $$ ans=\sum\limits_{i=1}^n\sum\limits_{j=1}^mlcm(i,j) $$ $$ ans=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\frac{i j}{gcd(i,j)} $$ $$ ans=\sum\l 阅读全文
posted @ 2019-01-16 21:07 Monster_Qi 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 解题思路 $NOI2018$的$Day1$ $T1$,当时打网络赛的时候不会做。学了一下$kruskal$重构树后发现问题迎刃而解了。根据$kruskal$的性质,如果要找从$u$出发,所走边权$ lim$的所能到达的点,可以将边从大到小排序,重构树后从$u$往上跳到点权$ lim$深度最浅的点,这 阅读全文
posted @ 2019-01-16 10:10 Monster_Qi 阅读(145) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 似乎以前做过这道题的强化版?柿子还是很好推的,都是套路。 $$ ans=\sum\limits_{i=1}^nC(n,i) i^k $$ 用第二类斯特林数的$n^m=\sum\limits_{i=0}^mS(m,i) C(n,i) i!$这个式子把后面的$i^k$展开得 $$ 阅读全文
posted @ 2019-01-16 09:53 Monster_Qi 阅读(147) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 $Kruskal$重构树模板题,$Kruskal$重构树就是在建最小生成树加边的时候,不直接加边,而是新建一个点,而这个点的权值就是边权,这个新建的点作为原先点的父亲,并且把他们并起来。最终会得到一棵树,这个树有很多优秀的性质,首先它的叶结点都为原先的点,非叶结点为原先的边,还 阅读全文
posted @ 2019-01-15 22:28 Monster_Qi 阅读(136) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 66 下一页