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
2828
2013-05-10感受子查询的威力
数据规模:selectcount(1)fromGGA_RISK_BASE_INFO;--
2828
selectcount(1)fromGG_TAS
guogang83
·
2013-05-20 20:00
poj
2828
之线段树单点更新
#include #include #include #include #include #include #include #include #include #defineINF99999999 usingnamespacestd; constintMAX=200000+10; intsum[MAX>1; BuildTree(n>1; if(sum[n=pos)returnUpdate(po
xingyeyongheng
·
2013-05-15 21:00
线段树端点更新 poj
2828
Buy Tickets
id=
2828
题目意思:有n个人排队,每个人有个pos值,和value值,表示他可以插到第pos个人的后面,输出最后的队形序列。
cc_again
·
2013-04-04 10:00
POJ
2828
Buy Tickets
线段树的题总是这么火。。。这题很多人都说想法很精妙啊,,赞一个。说有n个人插队,给定插队的先后顺序和插在哪个位置还有每个人的val,求插队结束后队伍各位置的val。一般来说插入这种事情都是倒着推的。对于第i个人来说,他插队的时候前面已经站满了,那么他前面应该有pos个人。但是i后面可能有人插到i前面,也就是说,倒着推的时候,i前面不只有pos个人,但是可以说,i前面有pos个空位,这些空位是i之前
zzxyyx_1
·
2013-03-30 11:00
插队
poj
2828
-- Buy Tickets ( 线段树 / 树状数组 )
题意就不说了,从后往前扫,每次寻找和为posi的点,开始本来想用并查集维护没有被占的点,可WA了很久,直接思路就是线段树或二分+树状数组 线段树版: #include #include #include #include #include #include #include #include #include #include #include #include #include usingna
dlut_ju
·
2013-03-21 13:00
poj
2828
线段树单点更新
#include #include #definelsonl,m,rt>1; build(lson); build(rson); } voidupdate(intx,intl,intr,intrt) { sum[rt]--; if(l==r) { t=l; return; } intm=(l+r)>>1; if(sum[rt=x) update(x,lson); else { x-=sum[rt=
wahaha1_
·
2013-03-19 11:00
POJ
2828
线段树 插队(单点更新)
题目:BuyTickets#include #defineN200010 #definelsonl,m,rt>1; Build(lson); Build(rson); } voidUpdate(intp,intl,intr,intrt) { tree[rt]--; if(l==r) { id=r; return; } intm=(l+r)>>1; if(tre
ACdreamers
·
2013-02-09 16:00
Dancing Links题集【转自夏天的风】
EasyFinding[精确覆盖基础题]HUST1017 Exactcover[精确覆盖基础]HDOJ3663PowerStations[精确覆盖]ZOJ3209 TreasureMap[精确覆盖]HDOJ
2828
Lamp
liuqiyao_01
·
2013-01-07 21:00
POJ
2828
Buy Tickets 线段树 单点更新
题意:夜里排队买车票,每个人都有自己的id号。排队买票时会插队,输入n对数字,每对包括了他想插入的位子,和自己的id号,后插入的人会把先插入的人挤下去做法:把先到的人挤下去真心难模拟,那么就倒过来思考。逆序查找序列对,后查到的要往后排,这个思想我以后要记住了然后建立树时,每个节点的值为当前的空余数,然后就可以模拟了,模拟的时候要小心...#include #include #defineleftl
cqlf__
·
2013-01-02 23:00
poj
2828
Buy Tickets【线段树】
id=
2828
题目大意:最初有一个序列,现在新来一个数,它要插入到原来的序列的第i个数的右边,如此操作N次,问最后的序列是什么样的。
lifajun90
·
2012-11-16 17:00
poj
2828
线段树 单点更新 代码很简单,主要在于思路
#include #include #include #include ///题目大意:有一个队列不断的往里插入值求出最后的序列 ///逆序遍历用线段树的节点表示当前区间里空的位置数 usingnamespacestd; constintmaxn=200002; intval[maxn],res[maxn],n,idx,ans,id[maxn],len[maxn>1; build
azheng51714
·
2012-11-04 19:00
POJ
2828
Buy Tickets
~~~题目链接~~~题目大意:有一群人要插队,现在给出组要插队的人要插到第几个人后,和该人对应的编号,求最后这个队列从头到尾所对应的编号。思路:一开始用线性表和链表试了下都超时了,无赖想不出怎么用线段树,可耻的看了解题报告,换一个思路,从最后一个人往回推,就有思路了。code:#include #defineN200002 usingnamespacestd; intp[N],v[N],ans[N
ulquiorra0cifer
·
2012-11-03 20:00
poj
2828
Buy Tickets
题解:不错的题倒序处理,空格的个数就是要插入的位置。数状数组+二分查找O(nlogn*logn)#include #include #include usingnamespacestd; constintmaxn=201000; inttree[maxn]; intn; intpos[maxn],val[maxn]; intans[maxn]; inlineintlowbit(intx) { re
HyogaHyoga
·
2012-10-13 14:00
POJ-
2828
Buy Tickets 线段树
id=
2828
题意:hint说的很清楚了。。。 如果直接模拟的话肯定会超时。但是我们注意到,从后面开始找位置就可以依次确定,那么接下来就是线段树统计区间还没决定好的数了。
angle555945
·
2012-10-05 15:00
Dancing Links题集
EasyFinding[精确覆盖基础题]HUST1017 Exactcover[精确覆盖基础]HDOJ3663PowerStations[精确覆盖]ZOJ3209 TreasureMap[精确覆盖]HDOJ
2828
Lamp
shahdza
·
2012-09-17 00:00
search
ZOJ-3635-Cinema in Akiba
problemId=4803有n个从1..n标号的座位,按时间顺序给出每个客人来的时候是坐在第几个空座位,最后给若干个询问问第i号客人坐在哪里线段树即可,和POJ-
2828
-BuyTickets差不多#
Cambridgeacm
·
2012-08-28 19:00
list
struct
query
Build
CAM
poj
2828
id=
2828
题意是n个人按照给定的位置(pos),将这些人插入到这个位置。按它正常的顺序去模拟的话肯定会超时(n^2).所以这题用的是逆着来统计。。用线段树统计T[1-n]的空位置数量。
w00w12l
·
2012-08-28 10:00
HDOJ
2828
-DLX, 重复覆盖小变形
这道HDOJ
2828
也是好题,它比我今天试写的HDOJ3957简单得多,最大的不同不是一个只是求一个YES/NO,另一个求的是最小dfs深度,而是3957的链表数据中的关系比
2828
复杂,所以dance
yihuikang
·
2012-08-19 11:00
c
IM
POJ
2828
线段树
题意:给出一个N,接下来是N个数,每个数有一个插入的位置。输出最后的顺序。思路:一开始以为就是链表插入,然后看了下数据量。就没想法了。就用了线段树,建树和询问都是很基础的东西,就是最后处理位置有一些技巧。#include #include #include #include #include #include #include #include #include #include #include
kdqzzxxcc
·
2012-08-17 15:00
tree
query
Build
POJ-
2828
-Buy Tickets
POJ-
2828
-Buy Tickets http://poj.org/problem?
aijuans
·
2012-08-07 22:00
ACM_POJ
POJ-
2828
-Buy Tickets
POJ-
2828
-BuyTicketshttp://poj.org/problem?
Cambridgeacm
·
2012-08-07 15:00
POJ
2828
- Buy Tickets
AdvancedDataStructures::SegmentTreeDescription春运买动车票真叫那个难啊,特别是在中国。大家都知道中国人喜欢插队,一个比你晚到的人,因为认识排在你前面的人,就会插在他后面。你只能默默忍受,不敢吱声,不然万一那个插队的人有个什么爹,你就玩完了。按每个人到达的先后顺序输入,同时输入这个人要插到第几个位置,原本位置及后来的人只能往后移动。输出最后排队的顺序。T
Ra_WinDing
·
2012-08-02 22:00
【索引】 Advanced Data Structures :: Segment Tree
SegmentTreeHDOJ1166-敌兵布阵HDOJ1754-IHateItHDOJ1394-MinimumInversionNumberHDOJ2795-BillboardPOJ
2828
-BuyTicketsPOJ2886
Ra_WinDing
·
2012-07-27 21:00
POJ
2828
思维难度较好的一道线段树
题目大意:一条队伍,给你每个人插队的状态,得到最后的队伍状态思路:容易从后方去思考,首先最后一个百分之百可以确定的而倒数第二个 倒着来看他之前必定还有pos[i]个人(未包括后面的人)所以能需要空pos[i]个人的位置就是倒数第二个人的位置,同理可得倒数第三倒数第四,而线段树就去维护空位的信息#include #definemaxn200005 #definelsonl,m,rt>1; build
zy691357966
·
2012-07-15 15:00
c
query
Build
poj
2828
Buy Tickets
id=
2828
这个题,逆向思维,如果从后向前看,最后的一个人排名第几就是第几个了,然后把该位置标记为0,表示该位置已经被占,用线段树实现单点更新#include #include usingnamespacestd
struggle_mind
·
2012-07-05 18:00
poj
2828
Buy Tickets 线段树!!!
只要理解用线段记录这个区间有多少个空位就行啦!!然后根据左右孩子的空位数进行遍历线段树#include #include usingnamespacestd; structnode{ intl,r,s; }a[1000000]; intb[200005],val[200005],ans[200005]; voidbuild(inti,intleft,intright) { a[i].l=left;
youngyangyang04
·
2012-06-07 17:00
poj
2828
Buy Tickets (数据结构_线段树)
id=
2828
题目大意:给定n个人进入队伍时的位置,如果某个位置及其后面有人,则后面的人都要向后挪一个位置,这不正是每天都在现实生活中上演的插队问题吗!
woshi250hua
·
2012-05-03 12:00
数据结构
生活
测试
Build
poj
2828
Buy Tickets(线段树 区间和的应用)
BuyTicketsTimeLimit: 4000MS MemoryLimit: 65536KTotalSubmissions: 6858 Accepted: 3298DescriptionRailwayticketsweredifficulttobuyaroundtheLunarNewYearinChina,sowemustgetupearlyandjoinalongqueue…TheLunar
fp_hzq
·
2012-04-24 22:00
首届华中区程序设计邀请赛暨第十届武汉大学程序设计大赛网络预赛C题(HDOJ-4217)
这题比赛的时候是狐狸大大敲的..先用了list..结果超时了..果断树状数组A之...其实这题当年做过很类似的:POJ
2828
插队排队问题..
kk303
·
2012-04-16 14:00
c
网络
存储
insert
poj
2828
线段树
poj
2828
对方法不理解透彻!照搬是没有用的,要彻底理解。一些特殊情况没出什么问题。
·
2012-03-10 01:00
poj
POJ 2182 Lost Cows 线段树 or 树状数组
这道题还是很经典的给出了一个序列,代表的是比该位置的牛靠前站的且序号比他小的牛的个数然后思想类似于
2828
,正序看的话,看不出有什么规律,但是逆序的话,就能看出当前序列的最后一头牛的编号是可以确定的,就相当于有一个队列
sdj222555
·
2012-01-29 17:00
c
tree
search
insert
POJ
2828
Buy Tickets
倒序插入,这样POS的意义就变为找到这么一个位置可以放置这个人, 使得从这个位置往前数共有POS个空位,线段树的节点中cnt表示在[l,r)区间中共有多少个空位/******************************************************************************* #Author:NeoFung #Email:
[email protected]
neofung
·
2012-01-27 22:00
Poj
2828
Buy Tickets
题目大意:有N个人排队,给出各个人想插队的位置和标识,要求输出最后的序列。思路:利用线段树,从最后一个人往前插,这样position的意义就表示前面有多少个空位,线段树上每个节点中存储的是区间有多少空位。#include usingnamespacestd; #include constintMAXN=200010; structtree{ intleft; intright; intctr; }
Detective_Xin
·
2012-01-19 14:00
POJ
2828
Buy Tickets 线段树
思路:查看了网上不少博客,感觉都写得很朦胧,都说从后往前插。这个倒好理解。但是很多都没说清楚为什么用线段树,用的思路。搞得我一头雾水。毕竟是刚接触线段树,对线段树理解也不够。今天晚上硬着头皮推敲。终于有点思路了。我的理解:就例子 020119138031从后往前插。首先是031.位置是精确的就是在第0位。然后是138.38想插在第1位。但是这是38一厢情愿,他能不能最终落在第1位,必须经过031的
wuyanyi
·
2011-12-04 13:00
数据结构------二叉查找树
66/\/\
2828
/\/\1414//\337有了这个性质,查找就方便多了,最大值只要从root一直往右查找,最小值只要一直往左查找就可以了。编
I smell magic in the air
·
2011-11-17 21:00
POJ
2828
Buy Tickets
本题使用了一个巧妙的构造方法,首先,如果按顺序插队的话,序列是无法确定的,因为插队的时候被插的人的位置会改变。所以可以倒过来想,最后一个人的位置必然可以确定,然后接着是倒数第二的,依次的位置就都出来了。 然后线段树的功能是统计区间内可插的位置数吧,我们可以先想想叶子节点,如果这个位置被确定了,那么该叶子节点的值应该变为0了,就相当于有了一个新的队列,是不包含值为0的叶子节点的队列,那么再插的时候
java-mans
·
2011-10-15 22:00
poj
POJ
2828
Buy Tickets
本题使用了一个巧妙的构造方法,首先,如果按顺序插队的话,序列是无法确定的,因为插队的时候被插的人的位置会改变。所以可以倒过来想,最后一个人的位置必然可以确定,然后接着是倒数第二的,依次的位置就都出来了。然后线段树的功能是统计区间内可插的位置数吧,我们可以先想想叶子节点,如果这个位置被确定了,那么该叶子节点的值应该变为0了,就相当于有了一个新的队列,是不包含值为0的叶子节点的队列,那么再插的时候,不
sdj222555
·
2011-10-15 22:00
c
tree
insert
POJ
2828
Buy Tickets(单点更新)
题意:有n个的排队,每一个人都有一个val来对应,每一个后来人都会插入当前队伍的某一个位置pos。要求把队伍最后的状态输出。逆向思维。我们可以这样考虑,最后一个人一定会得到当前队伍他想要的位置,如果我们往前一个阶段,倒数第二个人也一定能得到他想要的位置……,也就是说,我们可以这样处理,我们把最后一个人插入,然后忽略它,再把倒数第二个人插入。即,我们找出当前队伍他想要插入的位置pos的真正坐标就可以
shiqi_614
·
2011-09-24 22:00
struct
tree
query
ini
Build
poj
2828
Buy Tickets(线段树)
(图画烂的一逼)按照第一个题例数据来说。从后面开始插,正好能保证它就是在它最后的位置。f表示的是这个区间还剩余多少个空位。插入69时候,直接插在最后位置上,那么后面两个位置减去一。然后更新空位。大致思路就是这样。#include #defineM200005 #definemid(l+r)>>1 #definelsonl,m,rt=1;i--){ Query(pos[i]+1,1,n,1)
a342374071
·
2011-08-26 22:00
query
poj
2828
Buy Tickets
id=
2828
这个题目主要是考虑从后往前填,这样就方便操作了。
IAccepted
·
2011-08-20 16:00
Build
POJ
2828
Buy Tickets 线段树
题意:买火车票时总有人插队,每人有两个属性,插入位置pos[i](pos[i]代表此人前面的总人数),以及人物编号value[i]。在每一轮输入后,按队伍顺序输出人物的编号。题解:处理点的线段树。从后往前推,则可以避免后来人对pos的影响,这样一来每个人的pos都是精确的。 #include usingnamespacestd; #defineMAX200005 intpos[MAX],
Tsaid
·
2011-08-07 16:00
poj 2182 || hdu 2711 Lost Cows
同POJ
2828
。都是从往前推,插空位即可。
zxy_snow
·
2011-08-04 17:00
poj
2828
Buy Tickets
继续线段树。这个题的意思是,有很多人,然后后面往前面插队神马的。开始没看懂,没注意下面的HINT==。。看discuss说的从后往前建神马的,每次找第pos个空位。可是,肿么转换成线段树呢。如果线段是空位的话是不行的啊,空位毕竟还是会更新的,但是线段长度是不变的啊。想了一种方法,很麻烦啊。就是每个节点中存两个值,一个是左子树的空位的个数,一个是右子树空位的个数,然后就相当于类似二分查找了。如果比左
zxy_snow
·
2011-08-01 13:00
zkw线段树 逆推 poj
2828
动态插入在序列中任意位置,询问最终序列。可以用块状链表做,但同样可以用编程复杂度和时间复杂度更优的zkw线段树做,只需思维上的转换。思路来自罗雨屏从正面来看,这题实在很难处理,每个数的位置都处于动态变化中,但从反面来看,每个数的位置其实都是确定的,它要求放在第x个位置,其实就是逆推时,当前第x个为空格的位置,我们只需维护当前区间有多少空格,便可在log(n)时间快速确定数的位置,而且实现比块状链表
huyuncong
·
2011-05-27 14:00
PKU
2828
Buy Tickets
PKU
2828
BuyTickets题目链接:http://poj.org/problem?
英雄哪里出来
·
2011-04-09 15:00
POJ
2828
题意:将一些数字按顺序,插入到数列的制定位置的后面。多次执行后,求最终的序列。思路:注意到,最后一次添加的数v如果放到了pos位置的后面,那它最终一定在pos+1这个位置。所以考虑倒着插入这些数。当我们动态插入数字v到pos后面时,实际要插入的位置,是一个保证前面已经插入了pos个数字的最小位置pos2。假如f[x]表示在实际位置x前面有多少个已经插入,则只要x–f[x]=pos就可以放在x位置
AllenLSY
·
2010-09-14 20:00
数据结构
BI
insert
linux系统解释器
原文:http://www.yuanma.org/data/2007/0821/article_
2828
.htm引言使用Shell进行工作的人们对Unix/Linux下的Shell编程都很熟悉,在所有的
renrenhappy
·
2010-09-03 23:00
编程
linux
shell
脚本
perl
Path
poj
2828
线段树,思路跟 3667hotel差不多. 感觉比那个简单一点 由此说明. hotel 是十分经典到的有区间里面讨论的线段树
题意:Dx:Thex-thvillagewasdestroyed.Qx:TheArmycommandsrequestedthenumberofvillagesthatx-thvillagewasdirectlyorindirectlyconnectedwithincludingitself (这个到意思就是找和和x还相连的村子个数.如果这个村子被毁,那就该输出0)R:Thevi
mindmb
·
2010-08-25 17:00
算法
poj
2828
/**poj
2828
.cpp**Createdon:2010-8-11*Author:friendy*/#include#include#includeusingnamespacestd;//又是一道线段树的题目
zhang20072844
·
2010-08-11 23:00
c
tree
insert
2010
POJ
2828
经典 逆推即可 ★★★
/**//* 题意:一些人,相继插入到pos[i]之后 问最后的情形 解题报告: 本题的算法是利用线段树进行倒推。基本思想是拿一个N个1的序列,从最后一次插入开始倒推。 设当前插入的是Pos Val,那么找到从左边数第Pos + 1个1的位置就是最终需要插入Val的位置, 然后把那个1改成0。 我用树状数组写*/#include#includeconst in
Yuan
·
2010-07-28 23:00
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他