随笔分类 - 线段树/树状数组
摘要:##思路 求区间和,应该是模板题,但是我直接套了之前的模板,输出有的不对,有的为负数。板子也忘得差不多了,明天复习一下再补 反正我第一反应永远不是最简单的办法,是线段树。本题用前缀和写最快。 ##前缀和 ##树状数组 ##线段树
阅读全文
摘要:题意: 中文题、板子题。 AC代码: 1 #include<iostream> 2 #include<stdio.h> 3 #include<map> 4 #include<algorithm> 5 #include<queue> 6 #include<stack> 7 #include<cmath
阅读全文
摘要:线段树变形~ AC代码: 1 #include<stdio.h> 2 #include<iostream> 3 #include<string.h> 4 #include<algorithm> 5 #include<queue> 6 using namespace std; 7 #define in
阅读全文
摘要:题目链接:HDU - 1542 样例: Sample Input 2 10 10 20 20 15 15 25 25.5 0 Sample Output Test case #1 Total explored area: 180.00 题意:给出一个n,n≠0,给出n行数据,每一行给出一个矩形的左下
阅读全文
摘要:题面: Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] means the number in the i-th row and j-th column. Initially we have A[i, j] = 0 (
阅读全文
摘要:##题意 给出n个相邻的村庄,q个操作 D代表损坏一个村庄 R代表修复村庄 Q代表查询给定的村庄和多少个村庄相邻 ##思路 反正我还是没有想通为什么是用线段树这个算法来解决的。 ##AC代码 #include<stdio.h> #include<string.h> #include<iostream
阅读全文
摘要:最近不想写.... 树状数组可以解决逆序对的问题 逆序对还可以利用归并排序 树状数组:
阅读全文
摘要:这个是利用树状数组求得逆序对的AC代码: 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include <iostream> 5 #include<algorithm> 6 typedef long long ll;
阅读全文
摘要:线段树实现功能: 区间查找和更新 时间复杂度: 更新:O(logn)查找:O(logn) 线段树内存需要开四倍大小,切记!!! 为什么需要开到四倍? https://www.cnblogs.com/FengZeng666/p/11446827.html 理论上是2n-1的空间,但是你递归建立的时候当
阅读全文
摘要:Sample Input 5 5 3 3 5 7 1 2 4 4 4 1 5 2 2 2 5 8 4 3 5 3 0 0 Sample Output 307 7489题意:给出n,m,表示该数有n个节点,m次操作。接下来m次操作,op、x、y、z,op=1时,将区间内每个元素+zop=2时,将区间内
阅读全文
摘要:##思路 周赛的一开始直接用book进行标记,后来TLE,然后改成map,继续TLE 后来想到用线段树写,但是没写对;想用树状数组写,结果发现不会写 ##AC代码(前缀和) //前缀和的做法 #include<stdio.h> #include<string.h> #include<iostream
阅读全文
摘要:给定n个数列,规定有两种操作,一是修改某个元素,二是求子数列[a,b]的连续和。数列的元素个数最多10万个,询问操作最多10万次。 输入 第一行2个整数n,m(n表示输入n个数,m表示有m个操作) 第二行输入n个数列。 接下来m行,每行有三个数k,a,b(k=0表示求子数列[a,b]的和;k=1表示
阅读全文
摘要:开学新拉的题目,老题重做,思路会稍微比之前清晰,不过这也算是一点点进步了。 题意: Q a-b 成绩最高的学生 每一次询问输出成绩U a、b 把a学生的成绩改为b分 思路: 求区间最值和单点修改单点修改不需要懒惰标记,因为每次都是访问到底层(最后一个叶节点) 小细节: |:有1则1<<1 :等同于*
阅读全文
摘要:In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic
阅读全文
摘要:For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultim
阅读全文
摘要:C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生
阅读全文
摘要:题意:C:对区间[l,r]每一个数+c; Q:查询区间[l,r]的所有元素的总和。 线段树修改和查找的时间复杂度都是O(logn)。线段树基本思想:分治。线段树基本操作:建树、区间查询(最值;和)、区间修改(更新)、单点修改、单点查询。 注意这题,输入说是一行 N、q 单组输入,但是会TLE,多组输
阅读全文