E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
——树状数组
HDU 1166 敌兵布阵
个营地减少j个人(j不超过30);(3)Query i j ,i和j为正整数,i<=j,表示询问第i到第j个营地的总人数;(4)End 表示结束,这条命令在每组数据最后出现;当然线段树也可以解决,不过没
树状数组
方便
·
2015-10-31 10:48
HDU
Codeforces 61E Enemy is weak 乞讨i<j<k && a[i]>a[j]>a[k] 对数的 树阵
主题链接:点击打开链接 意大利正在寻求称号 i<j<k && a[i]>a[j]>a[k] 的对数 假设仅仅有2元组那就是求逆序数的做法 三元组的话就用一个
树状数组
·
2015-10-31 10:02
codeforces
初探主席树1
主席树是函数式线段树的前缀和或
树状数组
套函数式线段树。一般来说的主席树是
树状数组
套函数式线段树……——VFleaKing 其实关于这个东西Seter已经讲的很清楚了。
·
2015-10-31 10:55
树
Minimum Inversion Number(最小翻转次数)
hdoj1394 题目大意:刚开始看错了题目,以为求出逆序数就行了,就是求不出样例的值,有看原来是求出一系列的逆序数序列的最小数 解决:
树状数组
#include <iostream>
·
2015-10-31 10:33
version
Cow Sorting
解决:
树状数组
,只需求出 在这个数加入之前比这个数大的个数,然后更新,再求出这个数加入之前比这个数大的数的总和 总共的代价是:cnt*加入的数+比这个数大的数的和 #include <iostream
·
2015-10-31 10:33
sort
Frosh Week
hdoj 3743 题目大意:就是逆序数 解决:
树状数组
+离散化,以后再也不会让题目给骗了,题目上并没有说是有多组测试数据,一直wa,不知道怎么回事,以为算法出问题了呢,但是可以运行一会时间,却原来是因为有多组测试数据
·
2015-10-31 10:33
OS
Color the ball(给球涂色)
hdoj 1556 解决:
树状数组
基础,插段求点 数据大小100000 /*本来是不打算写这个报告,就是一个基础的插段问点,但是ac之后,又搜了一个代码,让对
树状数组
有了一点新的认识,就从新改了一下
·
2015-10-31 10:33
color
stars
hdoj 2642 解决:二维
树状数组
简单 最后的时候,必须判断下x与a,y与b的关系,若x>a或者y>b将无法处理 #include <iostream> #include
·
2015-10-31 10:33
tar
敌兵布阵
hdoj 1166 题目大意: 解决:
树状数组
简单题,不解释 #include <iostream> #include <cstdio> #include <
·
2015-10-31 10:32
Ultra-QuickSort(超快速排序)
题目大意:给出一些数,用最小的交换相邻两个数,使得为正序,求最小交换次数 解决:可以用归并排序,由于在士兵杀敌系列中已经用过了,所以为了练练何为
树状数组
中的离散化,再用
树状数组
做了一遍 /* 本题思路
·
2015-10-31 10:29
Quicksort
Matrix(矩阵)
第二行第一个 给出矩阵的size,第二个给出命令的个数 C表示更新数据,将范围在x1<=x<=x2,和y1<=y<=y2区域内的数每个都加上1,Q表示询问某一个点的大小 解决:二维
树状数组
·
2015-10-31 10:29
Matrix
zafu 1464
树状数组
http://info.zjfc.edu.cn/acm/problemDetail.aspx?pid=1464 A String Problem 时间限制 : 1000 ms 内存限制 : 32 MB 提交次数 : 105 通过次数 : 22 题目描述 有N个由小写字母构成的单词。问,在第i个单词前面,字
·
2015-10-31 09:33
树状数组
hdu 2492
树状数组
/* 无知的YY:
树状数组
就是能对>x的所有值进行操作, 可以是加上一个v(即,求SUM(int x)) 也可以对其进行标记(即,每个出现过的进行记录
·
2015-10-31 09:33
树状数组
hdu 4630
树状数组
****
题意:Given you a sequence of number a1, a2, ..., an.They are also a permutation of 1...n. You need to answer some queries,each with the following format: If we chose two number a,b (shouldn't be the sam
·
2015-10-31 09:08
树状数组
hdu 4605
树状数组
****
题目大意很简单。 有一颗树(10^5结点),所有结点要么没有子结点,要么有两个子结点。然后每个结点都有一个重量值,根结点是1 然后有一个球,从结点1开始往子孙结点走。 每碰到一个结点,有三种情况 如果此球重量等于该结点重量,球就停下了 如果此球重量小于该结点重量,则分别往左右儿子走的可能都是1/2 如果此球重量大于该结点重量,则走向左儿子的概率是1/8,右儿子的概率是7/8 然后若干
·
2015-10-31 09:07
树状数组
Codeforces Round #261 (Div. 2) D
树状数组
应用
i]的个数要大于[,jn]中等于a[j]的个数 且i<j,求有多少对这种(i,j) ,i<j可是 i前面的合法个数 要大于j后面的 看起来非常像逆序数的样子,所以非常easy往
树状数组
想去
·
2015-10-31 09:24
codeforces
POJ 2352 线段树+
树状数组
第一次用,用来学习
树状数组
。。。
·
2015-10-31 09:07
树状数组
HDU-4331 Image Recognition 关系转换+离线处理+
树状数组
这题是按照解题报告上的思想来写的。觉得这个想法确实是很麻烦。现大概说下思路: 首先我们需要通过dp求出每一个点上下左右的延伸距离,这个距离就是连续的1的个数。预处理好这个信息后。我们不是去枚举每个点,而是去枚举每条对角线上的点,按照上面的说法,一条很明显的规则:所有边由1组成的正方形的对角线一定是矩形的对角线,相比N^2的枚举每个点,这个做法有个好处就是减少重复计算。我们的主要思想还是确定一个点
·
2015-10-31 09:17
image
HDU-水饺基情 二维
树状数组
该题就是简单的二维
树状数组
,保留一份棋盘的最新状态即可,
树状数组
里面就只保留在原有基础上增加或者减少的某一种饺子的数量。
·
2015-10-31 09:16
树状数组
二维
树状数组
——SuperBrother打鼹鼠(Vijos1512)
树状数组
(BIT)是一个查询和修改复杂度都为log(n)的数据结构,主要用于查询任意两位之间的所有元素之和,其编程简单,很容易被实现。而且可以很容易地扩展到二维。
·
2015-10-31 09:31
super
la4730(并查集+
树状数组
)
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=30&page=show_problem&problem=2731 题意:有t组测试数据,第一个是n,代表有n个城市,标号为0~~n-1,接下来的n行,依次是标号为0~~n-1个城市的坐标,然后
·
2015-10-31 09:47
树状数组
hdu1394(线段树)
思路:可以用
树状数组
和线段数做。这里我是用线段树做的。建的是一棵空树,然后每插入一个点之前,统计大于这个数的有多少个,直到所有的数都插入完成,就结果了逆序树的统计。
·
2015-10-31 09:45
HDU
poj1990(
树状数组
)
题意:FJ有n头牛,排列成一条直线(不会在同一个点),给出每头牛在直线上的坐标x。另外,每头牛还有一个自己的声调v,如果两头牛(i和j)之间想要沟通的话,它们必须用同个音调max(v[i],v[j]),沟通起来消耗的能量为:max(v[i],v[j]) * 它们之间的距离。问要使所有的牛之间都能沟通(两两之间),总共需要消耗多少能量。 思路:此题和hdu3015(我前面写的,有详细解答)一种类型
·
2015-10-31 09:44
树状数组
poj3067(
树状数组
)
想了一下,把图画出来后,发现.....原来是
树状数组
的题目。
·
2015-10-31 09:43
树状数组
hdu3015(
树状数组
)
http://acm.hdu.edu.cn/showproblem.php?pid=3015 题意:对于n棵树,给出所在位置和高度,然后分别对它的位置和高度做如下处理: 位置:将位置升序排序,最小的定义等级为 1,次小的定义等级为2,但是,要是位置相同的,则等级定义要相同; 例如:位置 1,2,1,5,2,3 &nbs
·
2015-10-31 09:43
树状数组
POJ - 2029 (二维
树状数组
)
思路:二维
树状数组
.......... 反思:一开始,我是对于矩阵给出的范围直接处理的,结果错了......... #include<i
·
2015-10-31 09:43
树状数组
hdu4031(
树状数组
)
pid=4031 思路:将防御和攻击分开,用
树状数组
统计攻击次数,再开一个数组统计成功防御次数。
·
2015-10-31 09:43
树状数组
poj-2155(二维
树状数组
)
思路:二维
树状数组
,区间更新,单点求值,先将取反次数相加,在对2取余。 #include<iostream>
·
2015-10-31 09:42
树状数组
hdu1892(二维
树状数组
)
1 #include<iostream> 2 using namespace std; 3 int a[1010][1010],c[1010][1010],n=1005; 4 int lowbit(int x) 5 { 6 return x&(-x); 7 } 8 int sum(int x,int y)
·
2015-10-31 09:40
树状数组
树状数组
专题总结1
所以我们就要用到
树状数组
,他的时间复杂度为O(lgn),相比之下就快得多。下面就讲一下什么是
树状数组
:
·
2015-10-31 09:40
树状数组
poj2299(离散化+
树状数组
)
http://acm.hust.edu.cn:8080/judge/problem/viewProblem.action?id=15025 #include<iostream> #include<algorithm> using namespace std; struct node { __int64 f,v; }str[500000]; __int64
·
2015-10-31 09:40
树状数组
poj2481
然后用
树状数组
统计即可 #include<iostream> #include<algorithm> using namespace std; struct no
·
2015-10-31 09:40
poj
hdu1166(线段树模版,区间求和)
pid=1166 用线段树做,比
树状数组
费时 #include<iostream> using namespace std; const int N=50005; struct
·
2015-10-31 09:40
HDU
SGU - 180 (
树状数组
+离散化)
http://acm.hust.edu.cn:8080/judge/problem/viewProblem.action?id=11104 此题比较坑爹,离散化中,相等的数进行离散化后也需要相等 对于相等数据的离散化,可以采用赋值相同的值来处理 对于相等数据的离散化,可以采用赋值相同的值来处理 #include<iostream> #include<algorithm
·
2015-10-31 09:40
树状数组
hdu 5032 不易发觉的
树状数组
http://acm.hdu.edu.cn/showproblem.php?pid=5032 给定一个1000x1000的点阵,m组询问,每次询问一个由(0,0)、(x,0)点一以及从原点出发的方向向量(a,b)构成的直角三角形包围的点的权值和。 先把1000x1000个点离线出极角关系,然后对m个询问按极角排序,不停add,遇到询问的极角就query一次前缀和 #include &
·
2015-10-31 09:35
树状数组
poj 2299
我们可以用
树状数组
sum[]来统计res[]从后往前处理过的数。 4、求和累加 j-res[j]+x; (j从n-1到0) &
·
2015-10-31 09:51
poj
poj3928pingpong区间和
树状数组
#include <cstdio> #include <cstring> #include <algorithm> #include <climits
·
2015-10-31 09:13
ping
蓝桥杯 小朋友排队
后来才知道是
树状数组
求逆序数。。 还是先看清楚数据量啊!
·
2015-10-31 09:15
蓝桥杯
poj2155
树状数组
Matrix
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 14826 Accepted: 5583 Description Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] means
·
2015-10-31 09:42
Matrix
信息战(四)——战场演练(线段树,
树状数组
)
两种做法:线段树和
树状数组
TLE了几次= = 主要是cout #include <iostream> #include <cstdio> #include
·
2015-10-31 09:01
树状数组
SGU 180.Inversions
没什么好说的离散化求逆序对,
树状数组
即可 code #include <iostream> #include <algorithm> #define INF
·
2015-10-31 09:29
version
树状数组
树状数组
是对一个数组改变某个元素和求和比较实用的数据结构。两中操作都是O(logn)。 在解题过程中,我们有时需要维护一个数组的前缀和S[i]=A[1]+A[2]+...
·
2015-10-31 09:32
树状数组
hdu 4031 attack
树状数组
线段树 两种做法
被攻击的次数等于总的攻击次数减去成功防守的次数 这道题目其实主要考如何计算成功防守的次数 增加一个辅助数组pos【】,记录上次询问后某个点防守到了第几次进攻(第一次进攻都能防守住) 每防守住一次,就过t0-1次进攻,继续判断接下来的第t0次进攻有没有包括(即攻击到)询问的点 有的人说复杂度是O(n^2),最坏复杂度确实可能是O(q)*O(q/t)log(n),应该是超时边缘,但就是过了,开
·
2015-10-31 08:12
树状数组
poj 2182 lost cows
树状数组
,二分
线段树做法 http://www.cnblogs.com/wuyiqi/archive/2011/12/21/2295391.html 从后往前操作 View Code #include<cstdio>#include<cstring>const int maxn = 80001;int a[maxn],c[maxn],ans[maxn],n;int low
·
2015-10-31 08:12
树状数组
hdu 2227 Find the nondecreasing subsequences
树状数组
+简单DP
题意就不说了 有几个值得注意的地方,首先,数据范围太大,要离散化 有一个问题就是1 5 5 离散化后可能是1 3 2 本来应该是1 2 3的,就会出错 所以排序的时候加个按关键值排序,值相同时按id递增排序 View Code #include<cstdio>#include<algorithm>using namespace std;const in
·
2015-10-31 08:12
sequence
hdu 3564
树状数组
的灵活应用
注释在代码中 两个
树状数组
,或者用两次 第一次维护的是空位的位置,update,更新管辖范围内空位的个数,getk获得第k个空位置的个数,其实就是第k小数,然后占据该位置,更新相应信息第二次维护的是最长不下降子序列的长度
·
2015-10-31 08:10
树状数组
hdu 1166
树状数组
简单题
View Code #include<cstdio>#include<cstring>const int maxn = 50010;int c[maxn];int lowbit(int x){ return x&-x;}void update(int x,int d){ for(;x<=maxn;x+=lowbit(x)) c
·
2015-10-31 08:10
树状数组
poj 2985 线段树求第k大的数
树状数组
实现好了之后,改用线段树也实现了一下,接下来再用各种树实现,继续学习!!
·
2015-10-31 08:10
poj
树状数组
从前往后求和,用来解第k大(或小)的数 poj 2985 The k-th Largest Group
来自http://www.cnblogs.com/oa414/archive/2011/07/21/2113234.html的启发, 看上述博客如何求第k大的数时,被其第二份代码影响,感觉很巧妙,于是研究了一下,搞懂后顿时神清气爽啊。。。 还是看这张经典的图吧,知识在图上就变得形象多了 现在假设要求sum[a]的值,一般我们都是从后往前求和,如
·
2015-10-31 08:10
group
线段树
树状数组
求大于某个值的第k小的数 hdu 2852 KiKi's K-Number
题意坑爹,应该是求大于a的第k小的数。。 线段树思路:更新操作就不说了,和另外一篇的一样 http://www.cnblogs.com/wuyiqi/archive/2011/12/26/2301504.html 关键是询问操作:问大于a的第k小的数,首先判断有几个数小于a,设为t,则题意就转换为了求整个区间的第k+t小的数 求之前先特判一下有没有k+t个数 线段树代码如下: Vi
·
2015-10-31 08:10
number
上一页
86
87
88
89
90
91
92
93
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他