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
——树状数组
POJ 2155 Matrix【 二维
树状数组
】
题意:给出两种操作,C是给出一个矩形的左上角和左下角的下标,把这个矩形里面的0变成1,1变成0,Q是询问某个点的值 看这篇论文讲得很清楚 http://wenku.baidu.com/view/1e51750abb68a98271fefaa8 自己看的时候,把每个点对应覆盖哪些区域画出来,再结合论文里面的,好理解一些 1 #include<iostream>
·
2015-11-03 21:03
Matrix
HDU 5273 Dylans loves sequence【
树状数组
】
题意:给出n个数,再给出q个询问,求L到R的逆序对的个数 先自己写的时候,是每次询问都重新插入来求sum(r)-sum(l) 果断T 后来还是看了别人的代码---- 预处理一下,把所有可能的区间的询问都求出来(1000*1000), 然后询问就是O(1)了 然后想自己这样写超时,是因为询问太多了---- 1 #include<iostream> 2 #in
·
2015-11-03 21:03
sequence
POJ 1195 Mobile phones【 二维
树状数组
】
题意:基础的二维数组,注意 0 + lowbit(0)会陷入无限循环----- 之前做一道一维的一直tle,就是因为这个-------------------------- 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include <cm
·
2015-11-03 21:02
mobile
SPOJ 1029 Matrix Summation【 二维
树状数组
】
题意:二维
树状数组
,更改值的时候有一点不一样, 是将a[x][y]设置为一个值,所以add的时候要将它和以前的值作差一下 1 #include<iostream> 2
·
2015-11-03 21:01
Matrix
SGU 180 Inversions【
树状数组
】
题意:求逆序数 和POJ那题求逆序数的一样,不过这题离散化之后,要去一下重,然后要开到long long 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include <cmath> 5 #include<stack>
·
2015-11-03 21:00
version
POJ 3067 Japan 【
树状数组
】
题意:左边有n个城市,右边有m个城市,现在修k条路,问会形成多少个交点 先按照x从小到大排,x相同的话,则按照y从小到大排,然后对于每一个y统计前面有多少个y比它大,它们就一定会相交 另外要用long long 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring>
·
2015-11-03 21:59
树状数组
HOJ 1867 经理的烦恼 【
树状数组
】
题意:给出一个区间,求这个区间里面素数的个数 这道题wa了好多次---是因为add操作没有写对 每次更新的时候,应该先判断没有加上y是不是质数,加上了y是不是质数 如果从质数变成不是质数,那么add(x,-1) 如果从不是质数变成是质数,那么add(x,1) 另外还pe了,,printf("\n")就不对,puts("")就对了 ---不懂---
·
2015-11-03 21:59
树状数组
POJ 2029 Get Many Persimmon Trees 【 二维
树状数组
】
题意:给出一个h*w的矩形,再给出n个坐标,在这n个坐标种树,再给出一个s*t大小的矩形,问在这个s*t的矩形里面最多能够得到多少棵树 二维的
树状数组
,求最多能够得到的树的时候,因为h
·
2015-11-03 21:58
tree
POJ 2299 Ultra-QuickSort【
树状数组
,逆序数】
题意:给出一组数,然后求它的逆序数 先把这组数离散化,大概就是编上号的意思--- 然后利用
树状数组
求出每个数前面有多少个数比它小,再通过这个数的位置,就可以求出前面有多少个数比它大了 这一篇讲得很详细
·
2015-11-03 21:57
Quicksort
POJ 2481 Cows【
树状数组
】
给出n头牛的s,e 如果有两头牛,现在si <= sj && ei >= ej 那么称牛i比牛j强壮 然后问每头牛都有几头牛比它强壮 先按照s从小到大排序,然后用e来当做
树状数组
里面那个
·
2015-11-03 21:57
树状数组
HDU 1541 star (
树状数组
)
Stars Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5400 Accepted Submission(s): 2133 Problem Des
·
2015-11-03 21:39
树状数组
树状数组
模版
原来听到
树状数组
这名字感觉很难,很高大上。学了一下发现不难。而且很好。
·
2015-11-03 21:50
树状数组
poj2352
树状数组
,注意
树状数组
范围 View Code #include < iostream > #include
·
2015-11-03 21:36
poj
hdoj 3450 Counting Sequences 【离散化 +
树状数组
优化dp】
CountingSequencesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/65536K(Java/Others)TotalSubmission(s):2128 AcceptedSubmission(s):736ProblemDescriptionForasetofsequencesofintegers{a1,a2,a3,
chenzhenyu123456
·
2015-11-03 15:00
2057 The manager's worry(
树状数组
)
@(KACMer)题意:单点更新,区间查寻素数个数.分析:构造一个
树状数组
就可以了,定义sum[i]为[1,i]的素数个数.
jibancanyang
·
2015-11-03 11:00
【计划】NOIP最后几天大概要干的事情
每天干点啥,列一个表吧……昨天浪得太狠没干什么事……模板压N位高精图论tarjan(scc,桥,割点)最小生成树(kruskal,prim)最短路(SPFA,dij)倍增LCA二分图最大匹配数据结构线段树,
树状数组
LOI_DQS
·
2015-11-03 07:00
夜深人静写算法(三) -
树状数组
夜深人静写算法(三)-
树状数组
目录 一、从图形学算法说起 1、MedianFilter概述 2、rpixel-MedianFilter算法 3、一维模型 4、数据结构的设计
英雄哪里出来
·
2015-11-02 22:00
Implementation:Binary Indexed Tree
树状数组
#include <iostream> #include <cstdlib> using namespace std; class BinaryIndexedTree { private: int *mem; int capacity; public: BinaryIndexedTree (int n) {
·
2015-11-02 19:20
binary
HDU 4417 Super Mario 第37届ACM/ICPC 杭州赛区网络赛1008题(
树状数组
或者线段树)
Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 80 Accepted Submission(s): 42 Problem D
·
2015-11-02 19:20
super
HDU 4267 A Simple Problem with Integers 第37届ACM/ICPC长春赛区网络赛1001题 (
树状数组
)
A Simple Problem with Integers Time Limit: 5000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 659 Accepted Submissi
·
2015-11-02 19:56
Integer
acdream1197 Points In Cuboid(hash
树状数组
)
思路:按照一维排序,根据查询插入,其他两位用二位
树状数组
维护。由于这个坐标太大,二位数组开不出来。这时候就是hash,对于一个位置(x,y),哈希成一个数,作为下标。查询的时候不存在的数字为0.
·
2015-11-02 19:40
hash
hdu 4605-Magic Ball Game(
树状数组
)
思路: 用
树状数组
离线处理。 摘录学长说的: “从一根节点u到一个点v存在的是唯一的一条确定的道
·
2015-11-02 19:15
game
关于动态规划的优化
3.优化 没有规律的一段,可能用线段树,
树状数组
优化。 在二维中也可能在某一维利用到上面三种优化。
·
2015-11-02 19:05
动态规划
HDU 1166 敌兵布阵
该题可以用
树状数组
也可以用线段数;
树状数组
:#include<stdio.h>#include<stdlib.h>#include<string.h>int c
·
2015-11-02 18:41
HDU
【
树状数组
】 poj 2352
思路:
树状数组
,线段树 稍后写一个线段树版本 #include <stdio.h> #include <string.h&g
·
2015-11-02 17:07
树状数组
POJ1990 MooFest——
树状数组
——Pku1990
维护两个
树状数组
,一个记录这个坐标所控制的范围内的奶牛个数,另外一个记录这个坐标所控制范围内的奶牛坐标之和。
·
2015-11-02 17:07
树状数组
树状数组
求逆序对:POJ 2299、3067
前几天开始看
树状数组
了,然后开始找题来刷。 首先是 POJ 2299 Ultra-QuickSort: http://poj.org/problem?
·
2015-11-02 17:10
树状数组
HDU 4750 Count The Pairs ★(图+并查集+
树状数组
)
题意 给定一个无向图(N<=10000, E<=500000),定义f[s,t]表示从s到t经过的每条路径中最长的边的最小值。Q个询问,每个询问一个t,问有多少对(s, t)使得f[s, t] >= t((s,t)和(t,s)是两对) 思路 按边权从小到大排序。考虑从小到大往图中加边同时计算以加入的边为f值的点对数。 难点和重点在于用 并查集 维护边的连通情况。 对于新加入的边(
·
2015-11-02 17:18
count
HDU 4750 Count The Pairs ★(图+并查集+
树状数组
)
题意 给定一个无向图(N<=10000, E<=500000),定义f[s,t]表示从s到t经过的每条路径中最长的边的最小值。Q个询问,每个询问一个t,问有多少对(s, t)使得f[s, t] >= t((s,t)和(t,s)是两对) 思路 按边权从小到大排序。考虑从小到大往图中加边同时计算以加入的边为f值的点对数。 难点和重点在于用 并查集 维护边的连通情况。 对于新加入的边(
·
2015-11-02 17:56
count
Mobile phones--POJ 1195
1、题目类型:模拟、计算几何、
树状数组
。 2、解题思路:题意,给定n*n矩阵,和几种在线操作,包括对某一点(x,y)值修改,查询一个矩形(x1,y1,x2,y2)的元素和。
·
2015-11-02 16:02
mobile
Ultra-QuickSort--POJ 2299
1、解题思路:
树状数组
,归并排序。 2、注意事项:
树状数组
的更新,归并排序的递归;注意用长整型保存结果。
·
2015-11-02 16:55
Quicksort
[hdu4358]
树状数组
思路:用一个数组记录最近k次的出现位置,然后在其附近更新答案。具体见代码: 1 #pragma comment(linker, "/STACK:10240000,10240000") 2 3 #include <iostream> 4 #include <cstdio> 5 #include <algorit
·
2015-11-02 16:30
树状数组
[hdu4911]逆序对相关
树状数组
或归并都行。
·
2015-11-02 16:23
HDU
[hdoj5192]
树状数组
枚举所有的区间。对于确定的区间,假设最终的高度为h, 代价是max(∑(Hi−h),∑(h−Hj))(Hi>h,Hj≤h) 等价于max(∑Hi−cnt(i)∗h,cnt(j)∗h−∑Hj) (cnt(i)表示满足Hi>h的堆数, cnt(j)表示满足Hj≤h 的堆数)。∑Hi−cnt(i)∗h关于h呈递减,cnt(j)∗h−∑Hj关于h呈递增。一个递减到0,一个从0开始递增,所以代价与h的函数
·
2015-11-02 16:20
树状数组
HDU 5517 二维
树状数组
HDU5517题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5517题意:有二元组(a,b),三元组(c,d,e)。当b==e时它们能构成(a,c,d)。然后,当不存在(u,v,w)!=(a,b,c)且u>=a,v>=b,w>=c时,则是一个better集合里的元素。问这个better集合有几个元素。思路:自己写的时候完全没有思路啊~参考了http:
beihai2013
·
2015-11-02 16:00
用二叉树来理解
树状数组
树状数组
(Fenwick tree,又名binary indexed tree),是一种很实用的数据结构。
·
2015-11-02 16:25
树状数组
【原】 POJ 2352 Stars
树状数组
解题报告
id=2352 方法:复杂度N*O(log Max)
树状数组
Binary Indexed Tree,具体见3321 求得常变二维平面上(0,0)到(x,y)所形成的矩形中点的个数
·
2015-11-02 15:52
树状数组
【原】 POJ 1195 Mobile phones 2D
树状数组
解题报告
id=1195 方法: 简单的2D
树状数组
的应用
树状数组
BIT形状很像二项树,适用于对经常改变的数组快速求得区间和。
·
2015-11-02 15:50
mobile
PKU3321
count进行更新 正好和线段树相反 结果超时了 这是因为 如果数据中的树是一棵很高的树的话 维护COUNT值会耗时很大 下面是上面思想的超时代码 (用邻接表也许更省时一点,不过想想如果用精简的
树状数组
会更美观一些
·
2015-11-02 15:27
pku
HDU 4046【
树状数组
】
解题思路: 带着绵绵情意看完了整个题目后就崩出
树状数组
了,很明显啊,动态更改值,动态个数。sum(i)表示1-i字符串内包
·
2015-11-02 15:39
树状数组
String Manipulation 1.0 线段树 or
树状数组
+二分
http://codeforces.com/problemset/problem/159/C 题意: 给你一个字符串s,给出一个数k,k倍的s串组成新串str。然后给出n个操作,每个操作对应着pi,ci意思是将第pi个字符ci从str中删除,求最后得到的字符串。 思路: 首先我想到的是利用vector里面的erase快速的删除,开一个vc[26]来存取每个字符然后模拟删除过程,才开始自己一
·
2015-11-02 15:04
String
[PKU 2104 2761] 区间第k大(小)值
{ 这一类问题方法很多 是练习数据结构的经典问题 建议可以线段树写一遍 用平衡树再写一遍 用
树状数组
也可以解决 平衡树也可以试试2种不同的方法 比如Splay和SBT (虽然Splay
·
2015-11-02 15:31
pku
hdu 1892 See you~
搜了下解题报告,说是用二维
树状数组
,然后我就自己开始搞。 写过之后虽然AC了,但是跑了1000ms+,感觉太慢了,就搜了下别人的代码,发现我们所理解的二维
树状数组
有些差别。
·
2015-11-02 15:49
HDU
hdu 3887 Counting Offspring
然后用
树状数组
求出这两个位置之间有多少个节点小于该节点。 hdu这题出的有点龊 ,,用dfs搜索会爆栈,要手
·
2015-11-02 15:40
spring
pku 3067 Japan
(不存在三边交与一点的情况) 思路:很容易想到转化为求逆序数,可以用归并排序来求,也可以用
树状数组
。
树状数组
实现要比归并简单一点。。
·
2015-11-02 15:39
pku
hdu 3030 Increasing Speed Limits
方法:
树状数组
+DP code: View Code 1 # include<stdio.h> 2 # include<string.h> 3 # include
·
2015-11-02 15:39
limit
hdu 3450 Counting Sequences
解法:
树状数组
+ 动态规划思路: 首先我们利用dp[i]表示到第i个位置能够找到的相邻数字之差小于等
·
2015-11-02 15:38
sequence
树状数组
原文转自:http://blog.csdn.net/dgq8211/article/details/7495448 在处理一些关于区间模型的问题时,常常会遇到处理前缀和(即从1到x的和)的问题。 这类问题常规解法有两种: 1、直接存储原数组,修改元素O(1),取前缀和O(n)。 2、直接存储前缀和,修改元素O(n),取前缀和O(1)。 但是如果当修改元素和取前缀和操作都比
·
2015-11-02 15:46
树状数组
HDU 2852 KiKi's K-Number【
树状数组
二分 】
题意:给出m个操作,0:是增加一个数,add(x,1)1:是删除一个指定的数,这个是看sum(x) - sum(x-1)是否为0,为0的话则不存在,不为0的话,则add(x,-1)2:是查询比x大的数中第k大的数,先求出比x小的个数s,假设比x大的数中第k大的数为y,那么比y小的个数有s+k个二分y的值来找 1 #include<iostream> 2 #inclu
·
2015-11-02 14:40
number
HDU 1892 See you~ 【 二维
树状数组
】
题意:二维的
树状数组
注意的有三个地方,输入进去的坐标都加1,防止lowbit(0) + 0造成死循环还有就是询问矩形面积的时候,输入进去的x1,x2,y1,y2,可能不是正对角线,要转化成正对角线 初始化的时候
·
2015-11-02 14:40
树状数组
上一页
82
83
84
85
86
87
88
89
下一页
按字母分类:
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
其他