上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 83 下一页
摘要: 嘟嘟嘟 写完lct的板儿后觉得这就是一道大水题。 连pushup都不用。 不过还是因为一个zz的错误debug了一小会儿(Link的时候连出自环……) 还有一件事就是Cut的时候判断条件还得加上,因为我这种写法会改变树的形态,不加后面就删错边了。 #include<cstdio> #include< 阅读全文
posted @ 2018-12-20 21:53 mrclr 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 LCT竟然看了整整一天,但好歹是看懂了。 教程这里不写,强烈推荐 闪狐大佬的博客 。 但是还是有几句想说的。 1.尽管LCT和splay很像,但是有一些细节还是不一样的。首先是rotate,我们习惯性的令$y$为$x$的父亲,$z$为$y$的父亲。这时候一定要判断$y$是否为当前splay( 阅读全文
posted @ 2018-12-20 19:15 mrclr 阅读(156) 评论(0) 推荐(0) 编辑
摘要: "嘟嘟嘟" 这题就是一道矩阵加速dp的水题,dp式都给你了,所以矩阵这方面就不说了。 之所以发这篇博客,是因为两数相乘可能会爆long long,所以得用快速乘。 现学了一下,感觉和快速幂特别像。 对于两个数$a, b$,按位枚举$b$,如果$b$的第$i$位为$1$,答案就加上$a 2 ^ i$。 阅读全文
posted @ 2018-12-19 22:27 mrclr 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 这题就是整体二分的板儿,只不过变成二维的。 那么就用二维树状数组好啦。 至于二维树状数组,看了代码就懂了。 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #i 阅读全文
posted @ 2018-12-19 21:57 mrclr 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 做了几道题之后,对整体二分有点感觉了。 整体二分的本质就是二分答案。所以这道题二分的就是次数。 然后就是套路了,把小于$mid$的操作都添加减去,然后查询,如果查询的值$x$比给定值大,就把这个询问放到左区间,否则减去$x$,放到右区间。 具体的操作,要支持区间加和单点查,第一反应是线段树, 阅读全文
posted @ 2018-12-19 18:44 mrclr 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 这应该算是整体二分入门题吧。 唯一的区别就是这次是区间修改,树状数组可能不太好做,换成线段树就好了。 然后每一次别忘了清空。 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cs 阅读全文
posted @ 2018-12-19 16:18 mrclr 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 整体二分是一个好东西。 理解起来还行。 首先,需要牢记的是,我们二分的是答案,也就是在值域上二分,同时把操作分到左右区间中(所以操作不是均分的)。 然后我就懒得讲了…… 李煜东的《算法竞赛进阶指南》第二版中讲的特别好,有兴趣的OIer可以拿来读读。 这里贴一个板儿。 突然想说一嘴:这道题我们 阅读全文
posted @ 2018-12-19 14:36 mrclr 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 今天学了个虚树,觉得这东西挺奇特。 虚树简单来说就是保留每一次询问的关键点以及他们的lca,把其他的点从树中删去。这样如果每一次询问的复杂度为$O(n)$的话,总复杂度就是$O(\sum _ ^ k_i)$。 虚树的构建方法这里推fjzzq大佬的博客。 构建完虚树后,在虚树上dp。因为每一个 阅读全文
posted @ 2018-12-18 20:16 mrclr 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 一看到异或,就想到按位处理. 当处理到第$i$位的时候,$f[u]$表示节点$u$到$n$的路径,这一位为$1$的期望,那么为$0$就是$1 - f[u]$,于是有 \(f[u] = \frac{1}{d[u]} (\sum _ {v \in V, w = 0} f[v] + \sum _ 阅读全文
posted @ 2018-12-18 15:40 mrclr 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 [数组越界真刺激,debug到怀疑人生] 我们可以求出每一条边的期望,然后贪心的把期望大的赋上小边权。 而对于边$e<x, y>$的期望$E(e) = \frac{E(x)}{du[x]} + \frac{E(y)}{du[y]}$。$du[x]$表示$x$有几条出边。 理解起来就是这条边的 阅读全文
posted @ 2018-12-18 12:03 mrclr 阅读(149) 评论(0) 推荐(0) 编辑
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 83 下一页