"原题链接" 这显然是一道 树据结构 ~~毒瘤卡常~~题 考虑用树剖 则原操作珂转换为: 1. 在区间$[l, r]$同时$±1$ 2. 询问区间$[l, r]$内有多少数$ 0$ ~~然后发现不能线段树~~ 珂以用分块 在每一块里搞一个关于值域的后缀和,即$\text{cnt}_{\text{i, ...
分类:
其他好文 时间:
2020-03-01 00:02:04
阅读次数:
70
你可以手画一下,然后发现求的其实就是 $[l,r]$ 区间内合法序列匹配个数. 用线段树维护一下括号序列就可以了. code: #include <bits/stdc++.h> #define N 1000005 #define ll long long #define lson now<<1 #d ...
分类:
其他好文 时间:
2020-02-29 22:38:53
阅读次数:
68
题目链接 先dp求出以每个红色区域右下角为中心的能成为logo的最大半径 然后二维RMQ预处理,之后可O(1)询问任意子矩形中的最大值 最后对于每个询问二分最大logo的半径mid,这样问题就转化成判定是否存在半径大于等于mid的logo,在(x1+mid-1,y1+mid-1,x2-mid,y2- ...
分类:
其他好文 时间:
2020-02-29 22:38:09
阅读次数:
107
板子 单点修改 区间查询(求和) 1 //单点修改,区间查询(加) 2 #include<iostream> 3 #include<cstdio> 4 #include<cctype> 5 #define re register int 6 using namespace std; 7 const ...
分类:
其他好文 时间:
2020-02-29 00:29:28
阅读次数:
69
"CF1303G" (点分治+李超线段树) 题目大意 给你一棵 n 个点的带点权的树,你需要求出树上的一个路径 $x_1,x_2,\ldots,x_k,最大化 \sum_{i=1}^kia_{x_i}$,求最大权值。 数据范围 $2\le n\le 150000$ 一条最大的路径并不好考虑如何直接求 ...
分类:
其他好文 时间:
2020-02-28 20:46:49
阅读次数:
69
本博客只适于普及组二等奖食用 oj:https://loj.ac/problems , https://www.luogu.com.cn/ 目录: 单源最短路径 ST表 树状数组1 树状数组2 线段树1 线段树2 缩点(Tarjan) 割点(割顶) LCA 平衡树 负环 差分约束系统 矩阵快速幂 矩 ...
分类:
其他好文 时间:
2020-02-28 15:43:27
阅读次数:
68
线段树的每个点表示当前点的前驱,即这个颜色上一次出现的位置,这个玩意multiset随便写写就完了。 重要的是怎么查询答案,无解显然先判掉。 线段树上二分就可以了 ...
#include<bits/stdc++.h> using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define rush! ios::sync_with_stdio(false);cin.tie(0); c ...
分类:
其他好文 时间:
2020-02-26 18:27:19
阅读次数:
50
链接:Miku 这道题比想象的要水,虽然说标签有个离散化,但是事实上根本不用 但是这道题的空间范围很苛刻,倘若写记录每个点的左右子节点的线段树写法的话,可能会MLE 所以我写了不记录的写法,这样虽然会牺牲时间,但是节省了空间 而且这道题的空间,竟然开n*3就可以了 思路:海报之间是没有区别的,暴力的 ...
分类:
其他好文 时间:
2020-02-25 20:12:07
阅读次数:
42
这题一开始把我看愣了。难道是线段树套树状数组?空间根本开不下好不好!!! 后来想到维护区间极值,从而排除不必要情况,降低复杂度。 无需修改,码量顿减…… 注意,同一组数据放一行,注意行末空格。 #include<bits/stdc++.h> using namespace std; #define ...
分类:
其他好文 时间:
2020-02-25 17:28:49
阅读次数:
63