![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分治
pubgoso
这个作者很懒,什么都没留下…
展开
-
hdu6701 Make Rounddog Happy(分治)
题目链接 大意:让你求满足题意的区间个数 思路:先跑一遍rmq,记录区间最大值下标,预处理每个点最左到左边哪个点,最右到右边哪个点,使得这段区间没有重复。 然后就直接分治,每次分治的区间先求出最大值下标,然后对小的一边for扫一遍求出符合的区间然后更新答案即可。 细节见代码 #include<bits/stdc++.h> #define fi first #define se sec...原创 2019-08-27 19:13:59 · 256 阅读 · 0 评论 -
2019牛客暑期多校训练营(第三场)G Removing Stones
题目链接 大意:给你一个数组,让你求出有多少个合法的区间。 合法区间定义为:每次选择两个元素同时减1,若能都减为0即为合法,特别的,如果区间和为奇数时,可以选择一个值最小的使他减1. 思路:转换一下问题就是,让你求多少个区间,使得区间的最大值不大于区间和的1/2,(向下取整)。 那么我们可以分治做,先跑一个rmq,记录最大值下标,然后分治一个区间,每次分治的区间,先求出他的最大值下标,然后扫小的那...原创 2019-08-27 21:55:33 · 165 阅读 · 0 评论 -
luogu3806 点分治模板
题目链接 每次找重心,然后处理每个子树。 // luogu-judger-enable-o2 #include<bits/stdc++.h> #define fi first #define se second #define pb push_back #define mp make_pair #define LL long long #define SZ(X) X.size() #...原创 2019-09-16 14:11:55 · 150 阅读 · 0 评论 -
luoguP3834 【模板】可持久化线段树 1(主席树)
题目链接 整体二分练习题 #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define LL long long #define pii pair<int,int> #define SZ(x) (int)x.size...原创 2019-11-26 21:48:48 · 95 阅读 · 0 评论 -
luogu P2617 Dynamic Rankings
题目链接 带修改的区间第k小 整体二分练习题 #include <iostream> #include <algorithm> #define fi first #define se second #define mp make_pair #define pb push_back #define LL long long #define pii pair<int,i...原创 2019-11-26 21:49:08 · 116 阅读 · 0 评论 -
luogu P1527 矩阵乘法
题目链接 给你一个矩阵询问子矩阵的第k小 整体二分练习题,就是多了一个二维前缀和,直接二维树状数组就行了 #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define LL long long #define pii pair&l...原创 2019-11-26 21:49:36 · 131 阅读 · 0 评论 -
luogu P3332 [ZJOI2013]K大数查询
题目链接 题目大意: 有N个位置,M个操作。操作有两种,每次操作如果是: 1 a b c:表示在第a个位置到第b个位置,每个位置加上一个数c 2 a b c:表示询问从第a个位置到第b个位置,第C大的数是多少。 整体二分练习题 每次二分答案 把所有操作分成左右两个部分 #include<bits/stdc++.h> #define fi first #define se second...原创 2019-11-26 21:50:04 · 162 阅读 · 0 评论