09 2012 档案

hdu3333 Turing Tree
摘要:题目大意:求一个区间内不重复数字的和,例如1 1 1 3,区间[1,4]的和为4。思路:如果采用在线算法,很难在nlogn的时间内处理,所以考虑离线算法。首先我们把所有查询区间记录下来,然后按照区间的右值排序,接着从左到右把每一个数更新到线段树中,并记录它出现的位置。如果一个数已经出现过,那么我们就把他上次出现的位置的值置为0,并更新它出现的位置。因为我们的查询区间是按右值排序的,所以当前区间的左值要么和之前一样要么比之前的要大,因此把过去重复出现的数字置为0不会影响结果。当更新到某个区间的右值时,我们就查询一次该区间的答案,并把答案记录到对应的地方。最后把区间查询的答案按照输入顺序输出即可。 阅读全文

posted @ 2012-09-13 13:37 死线之蓝 阅读(1123) 评论(1) 推荐(0)

导航

点击右上角即可分享
微信分享提示