题目描述 White Rabbit has a rectangular farmland of n*m. In each of the grid there is a kind of plant. The plant in the j-th column of the i-th row belong ...
分类:
其他好文 时间:
2018-07-28 12:12:57
阅读次数:
222
题目链接:https://vjudge.net/contest/241135#problem/A 题目大意:(与区间修改模板题相同) 输入 每个测试点(输入文件)有且仅有一组测试数据。 每组测试数据的第1行为一个整数N,意义如前文所述。 每组测试数据的第2行为N个整数,分别描述每种商品的重量,其中第 ...
分类:
其他好文 时间:
2018-07-25 20:06:34
阅读次数:
171
题目链接:https://vjudge.net/contest/182746#problem/E 题目大意: 一段线段由n条小线段组成,每次操作把一个区间的小线段变成金银铜之一(金的价值为3,银为2,铜为1),最初可当做全为铜;最后求这条线段的总价值。 解题分析: 此题为线段树区间修改的一道模板题, ...
分类:
其他好文 时间:
2018-07-24 23:52:23
阅读次数:
356
dfs序七个经典问题 参考自:《数据结构漫谈》 许昊然 dfs序是树在dfs先序遍历时的序列,将树形结构转化成序列问题处理。 dfs有一个很好的性质:一棵子树所在的位置处于一个连续区间中。 ps:deep[x]为x的深度,l[x]为dfs序中x的位置,r[x]为dfs序中x子树的结束位置 1.点修改 ...
分类:
其他好文 时间:
2018-07-22 20:04:44
阅读次数:
237
Description "题面" Solution 分块套分块,分别对时间和位置进行分块 差不多是一个定期保存信息的方法 对于询问我们不妨求出 $ =x$ 的答案,然后用 $m ( =x)$ 的答案,避免了严格小于带来的麻烦 暴力做法是把数字从大到小加入,然后每一次做区间修改,主席树维护一下,但空间 ...
分类:
其他好文 时间:
2018-07-15 12:05:51
阅读次数:
290
题目链接 这道题主要是要考虑到同一棵子树中dfs序是连续的 然后我就直接上树剖了。。。 其实完全不用树链剖分,我们可以重新考虑一下题目中的3种操作 1、将子树全部赋成1,直接dfs序+线段树区间修改 2、将节点的祖先全部赋成0。我们可以知道,如果一个节点的子树中有1个0,那么这个节点一定会被赋成0, ...
分类:
其他好文 时间:
2018-07-13 13:29:58
阅读次数:
172
3155: Preprefix sum https://www.lydsy.com/JudgeOnline/problem.php?id=3155 分析: 区间修改,区间查询,线段树就好了。 然后,这题有树状数组! 代码: 线段树620ms 1 /* 2 一个数修改影响后面的数,使后面的数都增加或者 ...
分类:
其他好文 时间:
2018-07-08 21:19:25
阅读次数:
194
百度百科 Definition&Solution 线段树是一种log级别的树形结构,可以处理区间修改以及区间查询问题。期望情况下,复杂度为O(nlogn)。 核心思想见百度百科,线段树即将每个线段分成左右两个线段做左右子树。一个线段没有子树,当且仅当线段表示的区间为[a,a]。 由于编号为k的节点的 ...
分类:
其他好文 时间:
2018-07-02 19:23:52
阅读次数:
176
说起树状数组,那就不得不提到线段树,它们可以说都可以完成区间修改和区间查询,但是树状数组的常数小,还好写,但是缺点是不能实现其他的高端操作,因此我们应该把这两种方法都掌握。对于那些简单的操作,可以用树状数组来写,反之就得用线段树了。 树状数组的主要思想跟线段树差不多,都是采用分治,但是他们的代码实现 ...
分类:
编程语言 时间:
2018-07-01 19:50:28
阅读次数:
200
在差分数组上稍加改变,就可以实现这个骚操作 首先我们先来看一看普通的树状数组(基于差分)怎么暴力的求解区间和~~就是询问区间长度次和~~ $\sum^{i=1}_{len}\sum^{j=1}_{i}base[j]$ base为原数列 以上便是暴力求解,然后我们可以发现$base[i]$被加了$p ...
分类:
编程语言 时间:
2018-06-22 17:51:25
阅读次数:
178