
数据结构----树状数组
长沙橘子猫
这个作者很懒,什么都没留下…
展开
-
poj 2352 入门树状数组
点击打开链接StarsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 49310 Accepted: 21282DescriptionAstronomers often examine star maps where stars a原创 2017-09-16 20:40:02 · 296 阅读 · 0 评论 -
Codeforces Round #261 (Div. 2)
A. Pashmak and Garden题意:给你两个点坐标,你可以任意选取两个点(坐标均为整数),看能否构造一个正方形。水题#include<bits/stdc++.h>#define ll long longusing namespace std;int tmp;void print(int x1,int y1,int x2,int y2){ prin...原创 2019-03-12 14:03:20 · 222 阅读 · 0 评论 -
Codeforces Round #263 (Div. 2)
感觉今天的题有点难,做的也有点爽。A. Appleman and Easy Task题意:如果有一个格子,周围四个格子要是有奇数个o,那么就输出NO。签到题#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn=1e5+10;char s[105][105];in...原创 2019-03-14 20:35:47 · 231 阅读 · 0 评论 -
牛客小白月赛12 全部题解
今天出去玩了,所以比赛只打了一个小时.....A. 华华听月月唱歌签到题,从第一个点开始找,每次都在合法的范围贪心去找一个最大的右端点,如果到了刚好不合法的点,那么答案++,合法范围变成之前的最大的右端点,然后继续找即可。#include<bits/stdc++.h>#define ll long longusing namespace std;const int ...原创 2019-03-10 03:09:07 · 516 阅读 · 0 评论 -
洛谷 P1972 HH的项链 在线解法 | 离线解法
P1972题意:这是个标准的莫队算法的题,今天学学主席树解法以及树状数组解法,设last[ i ]为当前权值为 i 这个数所在的下标,那么每颗线段树就记录a[ i ]最靠右的下标的数量,从小到大遍历 i ,对于a[ i ] ,如果last[ a[ i ] ]不存在,第 i 颗线段树等于第i-1颗线段树再加上 i 的信息,然后更新last[ a[ i ] ]=i,如果last[ a[ i ] ]...原创 2018-08-02 20:32:40 · 362 阅读 · 0 评论 -
UVA 1513 Movie collection 树状数组
UVA 1513题意:你有n个带有编号1到n的盘子叠在一块,编号小的在上面,编号大的在下面,你现在有q个操作,每次操作抽出一个盘子,求这个盘子的上面有几个盘子, 并且把这个盘子放在顶面。思路:可用树状数组,每次抽出一个盘子,给这个盘子一个新的最大的下标值插入树状数组。#include<cstdio>#include<cstring>using namespace std...原创 2018-06-20 16:46:18 · 189 阅读 · 0 评论 -
poj 3928 难度:一般
点击打开链接Ping pongTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3541 Accepted: 1272DescriptionN(3<=N<=20000) ping pong players live along a west-原创 2017-09-20 19:51:41 · 402 阅读 · 0 评论 -
转自hzwer.com 树状数组入门
如果给定一个数组,要你求里面所有数的和,一般都会想到累加。但是当那个数组很大的时候,累加就显得太耗时了,时间复杂度为O(n),并且采用累加的方法还有一个局限,那就是,当修改掉数组中的元素后,仍然要你求数组中某段元素的和,就显得麻烦了。所以我们就要用到树状数组,他的时间复杂度为O(lgn),相比之下就快得多。下面就讲一下什么是树状数组:一般讲到树状数组都会少不了下面这个图:转载 2017-09-12 10:18:27 · 288 阅读 · 0 评论 -
南阳oj 123 树状数组入门 区间更新 单点求值
点击打开链接士兵杀敌(四)时间限制:2000 ms | 内存限制:65535 KB难度:5描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上,这样,有时候,计算他们中的哪一个人到底有多少军功就是一个比较困难原创 2017-09-18 21:05:31 · 361 阅读 · 0 评论 -
poj 2029 二维树状数组入门
点击打开链接Get Many Persimmon TreesTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 4546 Accepted: 2950DescriptionSeiji Hayashi had been a professor o原创 2017-09-19 11:32:54 · 378 阅读 · 0 评论 -
poj 2155 二维线段树或树状数组入门
点击打开链接MatrixTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 29520 Accepted: 10781DescriptionGiven an N*N matrix A, whose elements are either 0 o原创 2017-09-18 19:50:07 · 461 阅读 · 0 评论 -
树状数组入门基础题 南阳oj 116
这个题可做线段树的模板题,不过也可做树状数组的模板题,区间求和单点更新大家并不陌生,对于新手可以做做模板题练练手,熟悉熟悉树状数组的思想。#includeint c[1000010],N;void pus(int i,int num){ while(i<=N) { c[i]+=num; i+=i&(-i); }}int getsum(int i){ int sum=0;原创 2017-09-12 10:16:57 · 339 阅读 · 0 评论 -
poj 3321 难度:一般
点击打开链接Apple TreeTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 30842 Accepted: 9233DescriptionThere is an apple tree outside of kaka's house. E原创 2017-09-18 15:22:26 · 398 阅读 · 0 评论 -
poj 2299 树状数组入门 求逆序数
点击打开链接Ultra-QuickSortTime Limit: 7000MS Memory Limit: 65536KTotal Submissions: 63697 Accepted: 23752DescriptionIn this problem, you have to analyze a原创 2017-09-17 09:19:35 · 396 阅读 · 0 评论 -
第十四届北航程序设计竞赛预赛 部分题解
北航的C题交了50来发还没过,自闭了.......明天就要去北航现场垫底了。B 升级超梦思路:暴力枚举每级看是否可行,签到题。#include<cstring>#include<cstdio>#include<algorithm>#include<queue>#define ll long long using namespa...原创 2019-03-23 01:48:12 · 361 阅读 · 0 评论