
分治
文章平均质量分 70
Jiachen Yu
2015 - 2019 杭州电子科技大学 计算机本科
2019 至今 Airbnb 后端工程师
展开
-
HDU 5354 Bipartite Graph 分治,并查集
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5354题意:给你n个点m条边,问对于每一个点,删去它之后的图是否是二分图。(1<=n,m<=1051<=n,m<=10^5)思路:这题的代码是看了南神的博客之后才懂得,代码也参考了他的代码。南神的题解因为要判断每一个点,而且一旦一个点之外的几个点形成了奇环的话这个点一定就是No,所以用分治来解。先判断每一原创 2016-08-14 00:04:32 · 940 阅读 · 0 评论 -
HDU5977 Garden of Eden 树分治+高维前缀和
题意:给一个有n(1<=n<=5e4)个节点的树,每个节点有一个颜色,共有k(1<=k<=7)种不同的颜色,问有多少个点对(u,v)(注意(u,v)和(v,u)算作两个答案),这些点对之间的路径上有k个不同的颜色。 思路:暴力枚举就超时了,但是只要知道高维前缀和以及枚举子集的相关知识,就能用O(k*(1<<k))结束统计,外面套上树分治,O(n*logn+n*k*(1<<k) )的时间 树分治还是那样的树分治,用状态压缩记录路径上遇到的点,接着用高维前缀和统计每个状态和他们的超集的个数,一次分治的计数方法就原创 2016-10-31 22:59:09 · 2500 阅读 · 0 评论 -
Codeforces372 E. Digit Tree 树分治
题目链接:http://codeforces.com/contest/716/problem/E 题意:给一棵树,以及一个数m(m 思路:树分治部分不讲了,就是模板,关键是点权值的记录,记录一条路放在小数点之前的位置的值,以及放在小数点之后的位置的值,进行计数就可以了 #include #include #include #include #include using nam原创 2016-09-30 12:49:58 · 700 阅读 · 0 评论 -
HDU 5664 Lady CA and the graph 二分,树分治
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5664 题意:有一个有n个点的树(2 思路:这题是超哥教会的我,先膜一膜:http://blog.youkuaiyun.com/acm_fighting/article/details/52369051 一棵树上的链共有n*(n-1)/2条,全存下来明显会爆内存,因此要选择其他方法,问第k大的原创 2016-10-04 19:15:01 · 729 阅读 · 0 评论 -
Codeforces Round #431 (Div. 2) E. Goodbye Souvenir CDQ分治 或 离散化 线段树套树状数组
链接http://codeforces.com/contest/849/problem/E题意给nn个数,qq个操作,每个操作要么是把第pp个数的值改成xx,要么是询问[l,r][l, r]区间的各个值出现的第一个位置和最后一个位置差值的和思路自己没想到,看了这个博客后才明白了做法:http://www.cnblogs.com/ditoly/p/CF848C.html这题一维难以维护的地方是,一个点原创 2017-09-07 21:44:03 · 510 阅读 · 0 评论 -
2017 ACM-ICPC 亚洲区(西安赛区)网络赛 A Tree 树分治 矩阵 没有逆元和交换律的树链统计
链接https://nanti.jisuanke.com/t/17114题意给一棵大小为n(∑n<=3000)n(\sum n <= 3000)的树,树上每个节点有一个64 * 64的01矩阵,q(∑q=30000)q(\sum q = 30000)次询问,每次询问u到v路径上的矩阵之积。思路比赛的时候自己想用类似高斯消元的方法求逆矩阵,然后答案就是u到根节点的乘积乘以lca到根节点的逆元再乘上根节原创 2017-10-01 20:10:04 · 570 阅读 · 0 评论