题目链接:https://vjudge.net/problem/POJ-1195 题意:有s*s的矩阵,初始化为全0,有两种操作,单点修改(x,y)的值,区间查询(x,y)的值(l<=x<=r,b<=y<=t)。 思路:二维树状数组裸应用查询区间(l,b)~(r,t)的值可转换为tr[r][t]-t ...
分类:
编程语言 时间:
2019-05-01 13:38:18
阅读次数:
124
题意:给一个序列以及$n$个查询,每一个查询是问(假装)把第$a_i$个数改为$b_i$之后原序列的最长上升子序列的长度。 思路:线段树优化$dp$。 肯定离线做啊。 首先我们考虑$dp$的状态是$dp_L(i)$表示以第$i$位为结束的最长上升子序列的长度和方案数$mod\ 998244353$。 ...
分类:
其他好文 时间:
2019-04-30 01:01:44
阅读次数:
160
简介 对于一些区间查询问题, 当询问与数组大小同阶时, 把询问按块排序, 可以得到均摊根号复杂度的算法. 普通莫队 不含修改, 单点加入/删除均较快 ( $O(1)$ 或 $O(\log n)$ 等). 流程 1. 区间大小 $S = \sqrt n$ 1. 排序: 按 $(\lceil \frac ...
分类:
其他好文 时间:
2019-04-28 20:48:02
阅读次数:
189
来一发大暴力 树链剖分无疑了 对于某个询问节点,二分答案所在的深度,若该深度到该节点上的区间和 0,说明其中有满足条件的点,增加深度继续二分,否则减小深度 线段树上的操作:单点修改+区间查询(区间和) 关于时间: 时间复杂度$O(nlog^{2}n)$ 虽然不是最优解法,但能过了,稍微卡一下,总时间 ...
分类:
其他好文 时间:
2019-04-23 09:22:02
阅读次数:
165
给定数列,区间查询和,区间取模,单点修改。 n,m小于10^5 。。。当区间最值小于模数时,就直接返回就好啦~ 2019.04.18 ...
分类:
其他好文 时间:
2019-04-18 20:08:49
阅读次数:
126
引入 树状数组用于求区间和,其修改和查询的复杂度都是$O(logn)$,非常好写,比较小巧。 几种基础用法,关于权值树状数组在另一篇博客。 单点修改,区间查询 区间和 HDU 1166 敌兵布阵 模版: c++ include define N 50005 using namespace std; ...
分类:
编程语言 时间:
2019-04-10 15:17:39
阅读次数:
116
题目大意 静态区间查询不同数的个数。 分析 好了,成功被这道题目拉低了AC率。。。 打了莫队T飞掉了,真的是飞掉了QwQ。 蒟蒻想不出主席树的做法,就换成了莫队。。。 很多人都不知道莫队是什么。。。 一句话概括莫队:离线询问分块排序,玄学降低复杂度 那么这道题目就是简单的莫队模板套一下就好了,每一次 ...
分类:
其他好文 时间:
2019-03-30 21:31:34
阅读次数:
188
#130. 树状数组 1 :单点修改,区间查询 题目链接:https://loj.ac/problem/130 题目描述 这是一道模板题。 给定数列 a[1], a[2], \dots, a[n]a[1],a[2],…,a[n],你需要依次进行 qq 个操作,操作有两类: 1 i x:给定 i,xi ...
分类:
编程语言 时间:
2019-03-14 01:08:10
阅读次数:
223