2012年10月19日

Buy Tickets poj 2828

摘要: 题意:一些人排队去买票。首先输入一个N,代表一共有N个人。接下来有N行输入,每行两个数。第I的两个数num和val,分别代表第I个人排在第num个人的后面,val代表第I个人的值。根据最后的排队情况依次输出每个人的值。题解:线段树,倒叙插入。线段树的节点记录相应的区间有多少个空位。首先按顺着看,某个人插入到哪个位置,目前他就在哪个位置,接着如果后面有人插到他前面,他就要先后移相应的位。然后逆着看,最后一个人排在的位置一定是确定的,因为后面不会再有人再插到他前面。再往前某个人的位置这样确定:他插到的位置+后面插到他前面的人数。因此在线段树更新时就可以这样:插入到它大于的第一个空位数的位置后(nu 阅读全文

posted @ 2012-10-19 22:18 Acmer_Roney 阅读(174) 评论(0) 推荐(0) 编辑

导航