上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 44 下一页
摘要: https://www.cnblogs.com/DaD3zZ-Beyonder/p/5634149.html k可重区间集问题有两种建图方式,可能这一种才可以被线段树优化。 换个角度看,这也是一个类似[BZOJ1150]数据备份的可撤销贪心。 阅读全文
posted @ 2019-02-11 08:23 HocRiser 阅读(420) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/Yuzao/p/9069527.html 合并的时候大力讨论一下即可,不是特别复杂。 阅读全文
posted @ 2019-02-11 08:20 HocRiser 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 裸的树上倍增。 阅读全文
posted @ 2019-02-11 08:19 HocRiser 阅读(289) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/zhoushuyu/p/9138251.html 注意如果一开始F(i)中内层式子中j枚举的是除前i种颜色之外还有几种出现S次的颜色,那么后面式子就会难推很多。 阅读全文
posted @ 2019-02-07 08:26 HocRiser 阅读(269) 评论(1) 推荐(0) 编辑
摘要: 暴力做法是列异或方程组后高斯消元,答案为2^自由元个数,可以得60分。但这个算法已经到此为止了。 从图论的角度考虑这个问题,当原图是一棵树时,可以从叶子开始唯一确定每条边的选择情况,所以答案为1。 于是首先,对一个连通块,若其中黑点个数为奇数则必然无解,否则考虑求出它的一棵生成树。然后当我们选择一条 阅读全文
posted @ 2019-02-06 20:22 HocRiser 阅读(212) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/blog/entry/62013 两个结论: 1.一定有一个箱子不用动。 2.不动的箱子一定是加权前缀和为S/2的那个。 1显然,2由1易得。 于是问题变为:求一段区间前缀和>S/2的第一个数的位置。显然先求出S/2,再线段树上二分即可,实现过程见代码。 阅读全文
posted @ 2019-02-04 11:34 HocRiser 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 整体二分,就是对答案(权值)做CDQ分治。 有些问题会给出一些修改和一些询问,当可以通过二分后线性判定回答询问时,我们就可以将所有修改和询问放在一起二分,复杂度一般会将一个O(n)级别优化掉,这就是整体二分。 一般配合树状数组、线段树等数据结构,来替代树套树、KD-Tree等代码量和常数都较大的方法 阅读全文
posted @ 2019-02-03 08:23 HocRiser 阅读(205) 评论(0) 推荐(0) 编辑
摘要: D1T1:潜入行动 裸的树上DP。f[i][j][0/1][0/1]表示以i为根的子树放j个设备,根有没有放,根有没有被子树监听,的方案数。转移显然。 1 #include<cstdio> 2 #include<algorithm> 3 #define rep(i,l,r) for (int i=( 阅读全文
posted @ 2019-01-23 11:46 HocRiser 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 有些题目,在要求支持link-cut之外,还会在线询问某个子树的信息。LCT可以通过维护虚边信息完成这个操作。 对于LCT上每个节点,维护两个两sz和si,后者维护该点所有虚儿子的信息,前者维护该点的所有信息和。 那么显然有:$si[x]=\sum sz[pson]$,$sz[x]=sz[lson] 阅读全文
posted @ 2019-01-22 09:26 HocRiser 阅读(1535) 评论(0) 推荐(0) 编辑
摘要: 同[BZOJ4817]树点涂色,只是多了换根操作,分类讨论下即可。 阅读全文
posted @ 2019-01-21 18:56 HocRiser 阅读(189) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 44 下一页