差分数组 引入: 首先,给出一个问题: 给出n个数,再给出Q个询问,每个询问给出le,ri,x,最后再询问某个数,或者某个区间和(离线询问) 类似这样的问题,我们可以利用差分数组来解决。 假如这里有一个数组shu[n+1],其中shu[i]存储的便是某个具体的数 由前缀和数组的定义:$sum[x] ...
分类:
编程语言 时间:
2019-10-27 22:38:20
阅读次数:
91
Graveyard Design 题目链接:http://poj.org/problem?id=2100 题目大意:给定一个数,求出所有连续区间的平方和等于该数。 解题思路:尺取法,当区间小于给定数,区间r++,区间和+=r*r;当区间大于给定数,区间和-=l*l,区间l++。 代码如下: ...
分类:
其他好文 时间:
2019-10-21 20:34:33
阅读次数:
83
周二 (10.16) TEST A Max Sum HDU 1003 解题思路 动态规划 由于 要求 求出最大子区间和 并且 输出区间 起点/终点; 分析: 所以存在 几种情况 1. 都是负数/0 2. 多段 正数 负数相间分布 类似于 + + +++ 2.1 前一段正数和 后一段负数 相加 得数为 ...
分类:
其他好文 时间:
2019-10-19 21:08:51
阅读次数:
117
传送门 ?题意 有 n 个内存单元(编号从1开始); 给出 4 种操作: (1)Reset :表示把所有的内存清空,然后输出 "Reset Now"。 (2)New x :表示申请一块长度为 x 的内存块(满足起始地址尽可能小); 如果找到,输出 "New at A",A表示该内存块的起点,找不到, ...
分类:
其他好文 时间:
2019-10-17 13:36:04
阅读次数:
58
题意:有一个由n个数组成的序列,有4中操作: 1.C l r d [l,r]这段区间都加上d 2.Q l r 询问[l,r]这段区间的和 3.H l r t 询问之前t时间[l,r]的区间和 4.B t 回到t时间,且下一秒的时间从t开始 按时间建立主席树,主席树上的每一棵线段树维护[1,n]这段序 ...
分类:
其他好文 时间:
2019-10-13 18:41:03
阅读次数:
48
"洛咕" "双倍经验(仅输入不同)" 题意:维护三中操作,一是区间乘,二是区间加,三是询问区间和. 分析:在线段树的板子上增加了一个区间乘操作,但其实在洛咕还是模板题额.再开一个乘法的懒标记,初始化为1,每次遇到区间乘的操作,如果是整个区间都被包含的话,那么这个区间的乘法标记,加法标记和区间和都要更 ...
分类:
其他好文 时间:
2019-10-11 20:40:43
阅读次数:
75
Luogu_P1514 引水入城 记忆化搜索 "题目链接" 题目的意思很好理解 考虑记忆化搜索 搜索第一行每个点能覆盖的区间 $l[x][y]$和$r[x][y]$分别表示点$(x,y)$能覆盖的左右端点 转移自然是取$\min$和取$\max$ 最后$dfs$完了统计一下最后一排的覆盖来看第一问 ...
分类:
其他好文 时间:
2019-10-05 20:07:35
阅读次数:
89
本篇对应的是luogu的线段树1 概况: 如下图就是一棵线段树,线段树上的每一个点记录的都是一个区间,所以线段树支持对于区间和点的动态操作,可以在线查询和更改区间上的最值,求和等 时间复杂度:O(n) 使用线段树的情况: 满足区间加法:已知左右两子树的全部信息,一定能够推出父节点 线段树维护的内容根 ...
分类:
其他好文 时间:
2019-10-02 18:42:36
阅读次数:
77
题目链接 题意: C a b c 【a,b】区间都加c Q a b 查询【a,b】的区间和 题解: 区间修改+区间查询 模板题 代码: #include<iostream> #include<stdio.h> #include<math.h> #include<algorithm> #include ...
分类:
其他好文 时间:
2019-10-02 16:13:36
阅读次数:
76
问题 A: 联 时间限制: 2 Sec 内存限制: 256 MB 题面 题面谢绝公开。 题解 解法1:离散化+线段树。 1e18的数据范围直接离散化掉所有的l和r,加一个映射数组表示间距即可。 线段树维护区间和,扫0的时候判定子树和等不等于子树大小。 维护两个标记:lazy(将一个区间赋值成什么)、 ...
分类:
其他好文 时间:
2019-09-30 09:44:22
阅读次数:
79