![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 53
still_foolish
这个作者很懒,什么都没留下…
展开
-
【BZOJ 2648/2716】SJY摆棋子
Description这天,SJY显得无聊。在家自己玩。在一个棋盘上,有N个黑色棋子。他每次要么放到棋盘上一个黑色棋子,要么放上一个白色棋子,如果是白色棋子,他会找出距离这个白色棋子最近的黑色棋子。此处的距离是 曼哈顿距离 即(|x1-x2|+|y1-y2|) 。现在给出N<=500000个初始棋子。和M<=500000个操作。对于每个白色棋子,输出距离这个白色棋子最近的黑色棋子的距离。同一个格子可原创 2016-12-06 15:02:10 · 1474 阅读 · 0 评论 -
树状数组的区间修改与区间查询
我们知道,线段树实现区间修改和查询可以通过lazy标记来实现今天学到一个新姿势,树状数组也可以实现区间修改和查询我们引入delta数组delta[i]表示区间[i, n]的共同增量 于是修改区间[l, r]时修改delta[l]和delta[r + 1]即可 (就是差分的思路) 查询的时候是查询区间 [l, r] 的和 即sum[r] - sum[l - 1] 所以现在的问题是求sum[i]su原创 2016-11-23 21:59:12 · 624 阅读 · 0 评论 -
[NOIP2014]联合权值
[NOIP2014]联合权值时间限制:1 s 内存限制:128 MB 【题目描述】 两两结点的联合权值,必定经过另外一个结点。所以说,枚举的时候,只需要枚举每一个结点以及与这个节点相邻的点。然后把这些结点两两配对相乘相加。再次分析一下,对于最大值,明显只需要贪心。在每个结点中选择最大的两个即可。这个不需要考虑。那么,总和值是否可以优化呢?假设一个结点o,与其相连结点的权值为a1,a2原创 2016-11-24 19:55:08 · 348 阅读 · 0 评论 -
[NOI2005] 维护数列
[NOI2005] 维护数列时间限制:3 s 内存限制:256 MB 【问题描述】 请写一个程序,要求维护一个数列,支持以下 6 种操作:(请注意,格式栏中的下划线‘_’表示实际输入文件中的空格) 操作编号 输入文件中的格式 说明1.插入 INSERT_posi_tot_c1_c2_…_ctot 在当前数列的第 posi 个数字后插入 tot个数字:c1, c2, …, ctot;原创 2016-11-25 23:28:13 · 1171 阅读 · 0 评论