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
acm_树状数组
洛谷P1908逆序对(离散化+
树状数组
)
题目来源:http://www.luogu.org/problem/show?pid=1908搞来搞去,还是SYZOJ自带代码框最好用#include#include#include#includeusingnamespacestd;constintmaxn=40000+10;intn,c[maxn];structdata{longlongv;intii;}a[maxn];inlineintlow
dengcchh
·
2016-05-03 12:06
题解
poj 2352 hdu 2642 hdu 1556 poj 2155
树状数组
一维
树状数组
模板:intlowbit(intx){returnx&(-x);}voidadd(intx,intval)//下标为x值增加val{while(x0){ans+=c[x];x-=lowbit
winycg
·
2016-05-02 22:01
二叉树
树类问题
poj 2352 hdu 2642 hdu 1556 poj 2155
树状数组
一维
树状数组
模板:intlowbit(intx) { returnx&(-x); } voidadd(intx,intval)//下标为x值增加val { while(x0) { ans+=c[x];
winycg
·
2016-05-02 22:00
树状数组
[BZOJ2789][Poi2012]Letters(
树状数组
求逆序对)
题目描述传送门题解预处理之后求逆序对。代码#include #include #include usingnamespacestd; #defineLLlonglong constintmax_n=1e6+5; chara[max_n],b[max_n]; intn,last[100],next[max_n],st[100],bit[max_n]; LLC[max_n],ans=0; inli
Clove_unique
·
2016-05-02 17:00
poi
树状数组
bzoj
树状数组
求逆序对
3 5 4 8 2 6 9大体思路为:新建一个数组,将数组中每个元素置00 0 0 0 0 0 0取数列中最大的元素,将该元素所在位置置10 0 0 0 0 0 1统计该位置前放置元素的个数,为0接着放第二大元素8,将第四个位置置10 0 0 1 0 0 1统计该位置前放置元素的个数,为0继续放第三大元素6,将第六个位置置10 0 0 1 0 1 1统计该位置前放置元素的个数,为1……这样直到把最
qq_33583069
·
2016-05-02 12:00
hdu_4046_Panda(
树状数组
)
题解:直接上
树状数组
,改变字符后对应改变3个值就行,注意的是询问[l,r],应该对应输出的是[l+1,r]。因为sum[l+1]记录了a[l-1],a[l],a[l+1]。
bin_gege
·
2016-05-01 18:00
树状数组
POJ 3321Apple Tree(dfs序
树状数组
)
想了半天不知道怎么做,后来一查发现是
树状数组
,一时间没想出来怎么做,因为原来做的
树状数组
都是一条直线上操作,不知道怎么在树上建立
树状数组
。学习了一发别人的博客,才知道还有一种思路是根据
xtttgo
·
2016-05-01 14:00
2016 UESTC Training for Data Structures R - Japan CDOJ 383
树状数组
逆序对
R-Japan坐标有n个城市,右边有m个城市,城市都是按序号排序的,然后有K条连线,然后问连线的交点有多少个也是类似于逆序数,不过跟E题不同的是不用考虑在左端点或者右端点的交点,只考虑交在中间的,也不用离散化首先我们把每条线段按左端点升序排序,左端点相同按右端点升序排序然后因为我们只数交点在中间的,所以我们首先找到同一个左端点的序号范围,假设当前为[i,j),序号编号是从0开始,所以前面有i条直线
code12hour
·
2016-05-01 14:00
2016 UESTC Training for Data Structures P - 浑身难受 CDOJ 1276
树状数组
作为一名智障一共二十四种情况,然后每种倒序一下可以得到另外一种,所以可以简化成12种,然后我这个智障就写了十二种,首先分为3类,1, 1和4不相连,就n^2枚举2和3的位置,然后1和4的所在的区间用按值
树状数组
维护
code12hour
·
2016-05-01 14:00
2016 UESTC Training for Data Structures O - 卿学姐种美丽的花 CDOJ 1344 线段树/
树状数组
O-卿学姐种美丽的花给一个区间,等差数列更新,单点查询我们可以开一个线段树记录这个点被更新的次数,然后因为是区间更新,所以我们需要一个lazy,lazy表示这个区间的被更新的数列的首项是多少,还有一个cnt,表示公差,因为两个数列加和到一起时,公差也会相加,所以就是这样了,然后lazy下放的时候,也是计算下两个子区间的首端点的位置是多少,相当于把这个数列分为两个子数列然后我们就可以发现,叶子节点的
code12hour
·
2016-05-01 14:00
2016 UESTC Training for Data Structures K - 郭大侠与甲铁城 CDOJ 1342 离线
树状数组
K-郭大侠与甲铁城有一个区间,长度1e5,每个点有一种颜色,颜色属于[1,1000],离线询问某个区间的颜色种树,询问次数也少1e5我的做法是离线
树状数组
首先把区间保存下来,按右端点升序排序,然后我们建
树状数组
code12hour
·
2016-05-01 14:00
2016 UESTC Training for Data Structures E - 卿学姐与城堡的墙 CDOJ 1341
树状数组
逆序对 离散化
E题:卿学姐与城堡的墙有N条直线,以y=kx+b的形式给出,问有多少种方式任取两个直线,使这两个直线的交点在x=u和x=v之间对于两个直线a和b,怎么判断他们的交点在x=u和x=v之间呢假如直线a在x=u时的纵坐标为yau,在x=v时的纵坐标为yav,直线b在x=u时的纵坐标为ybu,在x=v时的纵坐标为ybv。假设yau在ybu的下面,但是yav却在ybv的上面,那中间就是一定有交点的,反之如果
code12hour
·
2016-05-01 14:00
hdu 1166 敌兵布阵 + Dairy
【【【黑线第一种方法:
树状数组
。其神奇所在,大概是lowbit数组。由图可知,c1=a1,c2=a1+a2,c3=a3,c4=a1+a2+a3+a4……一次类推可知,i是奇数时,ai=ci;i是偶
mars_ch
·
2016-05-01 08:00
HDU
2016 UESTC Training for Data Structures O - 卿学姐种美丽的花
树状数组
+等差数列
O-卿学姐种美丽的花TimeLimit:8000/4000MS(Java/Others) MemoryLimit:125535/65535KB(Java/Others)Submit Status众所周知,在喵哈哈村,有一个温柔善良的卿学姐。卿学姐喜欢和她一样美丽的花。所以卿学姐家的后院有很多的花坛。卿学姐有n个花坛,一开始第ii个花坛里有A[i] 朵花。每过一段时间,卿学姐都会在花坛里种上新
ProLightsfxjh
·
2016-05-01 00:00
ACM
for
Data
Training
uestc
2016
structures
树状数组+等差数列
2016 UESTC Training for Data Structures R - Japan
树状数组
求逆序数
R-JapanTimeLimit:3000/1000MS(Java/Others) MemoryLimit:65535/65535KB(Java/Others)Submit StatusJapanplanstowelcometheACMICPCWorldFinalsandalotofroadsmustbebuiltforthevenue.Japanistallislandwith NN cit
ProLightsfxjh
·
2016-05-01 00:00
ACM
for
Data
Training
uestc
2016
structures
树状数组求逆序数
2016 UESTC Training for Data Structures K - 郭大侠与甲铁城
树状数组
+离线操作
K-郭大侠与甲铁城TimeLimit:1500/800MS(Java/Others) MemoryLimit:65535/65535KB(Java/Others)Submit Status现在在这个城市中有n个卡巴内,每个卡巴内都有他自身的属性a[i],郭大侠的贯筒能够一次性击穿[L,R]区间中拥有不同属性的怪物!为了足够强的发挥自己的武器的实力,郭大侠必须提前知道自己的一次性贯筒能够击杀多少
ProLightsfxjh
·
2016-05-01 00:00
ACM
for
Data
Training
uestc
2016
structures
树状数组+离线查询
2016 UESTC Training for Data Structures E - 卿学姐与城堡的墙
树状数组
求逆序对、离散化
E-卿学姐与城堡的墙TimeLimit:2000/1000MS(Java/Others) MemoryLimit:65535/65535KB(Java/Others)Submit Status卿学姐终于来到了魔王的城堡,城堡修建的十分壮观。即使心中放不下公主,卿学姐还是忍不住驻足观赏这宏伟的建筑。卿学姐注意到城堡的墙上有若干直线状的花纹。可以将墙看做一个平面,卿学姐想知道有多少种方式任取两个直
ProLightsfxjh
·
2016-05-01 00:00
ACM
for
Data
Training
uestc
2016
structures
树状数组求逆序对
(Joseph环问题 +
树状数组
)
POJ-2886有N个人顺时针围成一圈,刚开始第K个人退出圈,他手上有个数字A_k如果A_k为正,则他左数A_k个人退出,如果A_k为负,则他右数A_k个人退出同样,接下来退出的那个人手上也有个数字,一直进行下去直到圈内所有人都离开第p个人退出的时候,他能得到F(p)个糖果,F(p)为p约数的个数问得到最多糖果的最早退出的人是谁,他得到了几个糖果这是个很经典的问题,叫做Josep环问题,以前我只会
u012015746
·
2016-04-30 22:00
poj
HDU 1166 线段树模板&
树状数组
模板
HDU1166上好的线段树模板&&
树状数组
模板自己写的第一棵线段树&第一棵
树状数组
莫名的兴奋线段树:#include usingnamespacestd; intcases,n,tree[200500]
qq_31785871
·
2016-04-30 20:00
线段树
HDU
树状数组
ZOJ2492 ping pong(
树状数组
BIT)
C.PingpongTimeLimit:1000msMemoryLimit:32768KB64-bitintegerIOformat:%lldJavaclassname:MainSubmitStatusPID:2394N(3 #include #include #include #include #include #include #include #include #include #inclu
zyd8888102
·
2016-04-30 17:00
ZOJ
UVA 501 - Black Box(二分 +
树状数组
+ 离散化)
题目链接:点击打开链接思路:该题虽然是求区间第k小,但是实际上是不需要用到复杂的数据结构的,我们只需要用
树状数组
来维护就行了,因为以值作为
树状数组
下标,那么这就是一个天然的单调区间,用二分来查找就行了。
weizhuwyzc000
·
2016-04-30 17:00
数据结构
uva
HDOJ 1165
树状数组
次元传送门本次用
树状数组
实现支持单个修改的区间和问题感谢RYC兄的无私查错代码实现#include #include #include #include usingnamespacestd; constintL
YOUSIKI
·
2016-04-30 16:00
hdu-4605 Magic Ball Game[离散化+回溯+
树状数组
]
题目大意很简单。有一颗树(10^5结点),所有结点要么没有子结点,要么有两个子结点。然后每个结点都有一个重量值,根结点是1然后有一个球,从结点1开始往子孙结点走。每碰到一个结点,有三种情况如果此球重量等于该结点重量,球就停下了如果此球重量小于该结点重量,则分别往左右儿子走的可能都是1/2如果此球重量大于该结点重量,则走向左儿子的概率是1/8,右儿子的概率是7/8然后若干个询问(10^5次),问一个
a915800048
·
2016-04-29 21:00
离散化
树状数组
回溯
♥NYOJ 123-士兵杀敌(四)【线段树&&
树状数组
】
士兵杀敌(四)时间限制:2000 ms | 内存限制:65535 KB难度:5描述南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上,这样,有时候,计算他们中的哪一个人到底有多少军功就是一个比较困难的事情,军师小工的任务就是在南将军询问他某个人的军功的时候,快
qq_29600137
·
2016-04-29 19:00
线段树
树状数组
[置顶] 填坑计划
算法:数据结构类:并查集树上倍增
树状数组
线段树平衡树LCT主席树单调队列单调栈网络流Tarjan经典算法类:二分拓扑排序Hash线性规划(差分约束、单纯形)莫队分块三分cdq分治扫描线启发式合并DP类:
Clove_unique
·
2016-04-29 16:00
BZOJ4378: [POI2015]Logistyka
每个数对答案的贡献=min(a[i],s)所以用
树状数组
维护小于等于每个数的权值和以及个数每次对于一个s,把小于s的所有数加起来,再把大于s的当成s,统计一下贡献,看能否实现#include #include
commonc
·
2016-04-29 16:00
POJ 2104 K-th Number【整体二分 +
树状数组
】
本来只是想学一下CDQ,还是先把整体二分搞懂一点。这题窝几个月前分别用划分树,树套树,主席树和挑战上介绍的分桶法实现了一发(然而现在都忘得差不多了)最快的是划分树,其次是主席树,然后是树套树,还有一个10000+ms分桶法的思想实现的,最上面的就是整体二分的方法。题目链接:http://poj.org/problem?id=2104题意:给定序列,求每次询问区间的第K大数。分析:首先介绍整体二分。
Yukizzz
·
2016-04-29 01:00
POJ 2104 K-th Number【整体二分 +
树状数组
】
原文链接:http://www.cnblogs.com/Tuesdayzz/p/5758644.html本来只是想学一下CDQ,还是先把整体二分搞懂一点。这题窝几个月前分别用划分树,树套树,主席树和挑战上介绍的分桶法实现了一发(然而现在都忘得差不多了)最快的是划分树,其次是主席树,然后是树套树,还有一个10000+ms分桶法的思想实现的,最上面的就是整体二分的方法。题目链接:http://poj.
An55511
·
2016-04-29 01:00
POJ-3468-A Simple Problem with Integers
树状数组
,区间更新,区间求和。设原数组为p(),delta(i)表示p数组第i个数及第i个数之和都要加上delta(i)。sum()表示p()的前缀和。num()表示i*delta(i)的前缀和。
qq_26122039
·
2016-04-28 22:00
Codeforces 669E Little Artem and Time Machine (离散化
树状数组
)
题意给出一个multiset,可以对他进行三种操作:1.在t时间增加一个x2.在t时间删除一个x3.查询t时间x的个数并输出思路题意看了很久才懂==,看懂之后决定朴素BIT来一发,因为有时间和x两个维度,且都是1e9,选择其中任意一个离散化一下就可以用map来维护sum了,然后过了。时间390ms,内存50000+。。。代码#include #include #include #include #
Dreamon3
·
2016-04-28 21:00
codeforces
Codeforces Round #348 (VK Cup 2016 Round 2, Div. 1 Edition) C 离散化+
树状数组
+map D 数学
链接:戳这里C.LittleArtemandRandomVariabletimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputLittleArtyomdecidedtostudyprobabilitytheory.Hefoundabookwithalotofniceex
libin66
·
2016-04-28 21:00
树剖+
树状数组
+二分
Description在2016年,佳媛姐姐刚刚学习了树,非常开心。现在他想解决这样一个问题:给定一颗有根树(根为1),有以下两种操作:1.标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。)2.询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)你能帮帮他吗?Input输入第一行两个正整数N和Q分别表示节点个数和
LOI_DQS
·
2016-04-28 19:00
nyoj 116 士兵杀敌(二)
树状数组
士兵杀敌(二)时间限制:1000 ms | 内存限制:65535 KB难度:5描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。输入只有一组测试数据第一行是两个整数N,M,其中N表示士兵的个数
mr_fan_123
·
2016-04-28 16:00
[BZOJ3295][Cqoi2011]动态逆序对(
树状数组
套线段树||cdq分治)
题目描述传送门题解
树状数组
套线段树。向序列里插入点显然要比删点方便很多。首先知道一个点对整个序列的逆序对的贡献其实是这个点前面有多少个比它大的点加上后面有多少个比它小的点。
Clove_unique
·
2016-04-28 14:29
题解
线段树
bit
省选
树套树
cdq分治/整体二分
[BZOJ3295][Cqoi2011]动态逆序对(离线+
树状数组
套线段树)
题目描述传送门题解
树状数组
套线段树。向序列里插入点显然要比删点方便很多。首先知道一个点对整个序列的逆序对的贡献其实是这个点前面有多少个比它大的点加上后面有多少个比它小的点。
Clove_unique
·
2016-04-28 14:00
线段树
树状数组
bzoj
CQOI
POJ 2299 Ultra-QuickSort(逆序数)
直白算法就是2后面比2小的数有1个,4后面比4小的数有2个,3后面比3小的数有1个,1后面比1小的数有0个,逆序数是1+2+1+0=4.用
树状数组
求逆序数,用到离散化的方法
yangkunpengD
·
2016-04-28 11:00
ACM
逆序数
树状数组
RMQ
POJ解题报告
关于
树状数组
一些有意思的东西
嘛~最近刚刚学会
树状数组
,写个blog记录一下心得。
树状数组
呢,核心是一个叫lowbit的东西,lowbit(x)=x&-x=x的最后一位1的大小。
TA201314
·
2016-04-28 09:00
bit
BZOJ 3289 (莫队算法+
树状数组
)
3289:Mato的文件管理TimeLimit: 40Sec MemoryLimit: 128MBSubmit: 1671 Solved: 732[Submit][Status][Discuss]DescriptionMato同学从各路神犇以各种方式(你们懂的)收集了许多资料,这些资料一共有n份,每份有一个大小和一个编号。为了防止他人偷拷,这些资料都是加密过的,只能用Mato自己写的程序才能访
morejarphone
·
2016-04-28 00:00
[二维线段树] [二维
树状数组
] [Vijos P1512] SuperBrother打鼹鼠 (mole)
Background背景SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊……),于是便无聊地开始玩“打鼹鼠”……Description描述在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来,不过不会从洞口钻进去(鼹鼠真胆大……)。洞口都在一个大小为n(n≤1024)的正方形中。这个正方形在一个平面直角坐标系中,左下角为(0,0),右上角为(n−1,n−1)。洞口所在的
HeRaNO
·
2016-04-27 23:34
线段树
树状数组
poj2481Cows
用
树状数组
维护一下即可。记得是完全包含,所以我们还要处理一下重合的情况。O(nlogn)。代
Fsss_7
·
2016-04-27 22:00
[POJ 2155] Matrix (高维
树状数组
)
POJ-2155给定一个矩阵,开始时其元素全为0,有两个操作Cx1y1x2y2将左上角为(x1,y1),右下角为(x2,y2)的子矩阵里的元素取反Qxy询问(x,y)元素的值裸的二维
树状数组
,知道了套路以后还是很好做的
u012015746
·
2016-04-27 21:00
poj
HDU 1166.敌兵布阵【线段树】【
树状数组
】【4月27】
敌兵布阵TimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):70446 AcceptedSubmission(s):29523ProblemDescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了
a995549572
·
2016-04-27 21:00
C++
线段树
ACM
HDU
[dfs序
树状数组
] BZOJ 4034 [HAOI2015]T2
两个log可以树链剖分day2听课时惊闻一个log的做法但我打low了,并不快...#include #include #include #defineVG[p].v usingnamespacestd; typedeflonglongll; inlinecharnc() { staticcharbuf[100000],*p1=buf,*p2=buf; if(p1==p2){p2=(p1=buf
u014609452
·
2016-04-27 19:00
CodeForces 669E Little Artem and Time Machine(
树状数组
)
题意:有三个操作 1xy,在第x秒插入一个y 2xy,在第x秒移走一个y 3xy,问第x秒有多少个y思路:听说是可持久化Treap...不过好像无脑
树状数组
也行#include usingnamespacestd
qq_21057881
·
2016-04-27 16:00
树状数组
第一个接触
树状数组
还是两年前,用什么语言来形容当时的感觉呢?……太神奇了!真的,无法表达出那种感觉,她是那么的优雅,10行不到的代码,却把事情干的如此出色!
XerxesSimon
·
2016-04-27 13:00
[BZOJ3809]Gty的二逼妹子序列(莫队+分块)
题目描述传送门题解莫队+
树状数组
的思路很显然,但是时间O(mn√log2n)莫队+权值分块的做法比较优越。
Clove_unique
·
2016-04-26 23:49
题解
莫队
分块
[BZOJ3809]Gty的二逼妹子序列(莫队+分块)
题目描述传送门题解莫队+
树状数组
的思路很显然,但是时间O(mn√log2n)莫队+权值分块的做法比较优越。
Clove_unique
·
2016-04-26 23:00
分块
bzoj
莫队
Codeforces Round #348-Little Artem and Time Machine
这道题用到
树状数组
加上map#include #definemaxn100005 #defineINF1e9 usingnamespacestd; structNode{ inta,t,x; }num
qq_26122039
·
2016-04-26 22:00
[BZOJ3289]Mato的文件管理(莫队+
树状数组
)
用权值
树状数组
动态维护逆序对,抓住”逆序对数=每一个数前面比它大的个数和=每一个数后面比它小的个数和“,再利用
树状数组
维护前缀和来搞。想好先统计再更新还是先更新再统计。
Clove_unique
·
2016-04-26 17:54
题解
bit
莫队
[BZOJ3289]Mato的文件管理(分块+莫队+
树状数组
)
用权值
树状数组
动态维护逆序对,抓住”逆序对数=每一个数前面比它大的个数和=每一个数后面比它小的个数和“,再利用
树状数组
维护前缀和来搞。想好先统计再更新还是先更新再统计。
Clove_unique
·
2016-04-26 17:00
树状数组
分块
bzoj
莫队
上一页
62
63
64
65
66
67
68
69
下一页
按字母分类:
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
其他