摘要: 这道题目的意思是对于每个要删除的数字,向前或向后找到一块连续的数字,而它是其中最小的;很容易看出对于所有要先删除的数字要从大到小删除;然后对于每个要删除的字母,要找到比他小的,但是在原数列中又靠它最近的数字;这样的话,很直观最多只能用lg n的复杂度来处理这个问题;可以用二分查找,也可以用set来代替;考虑到前面删除的一些数字不能计算进去,还要一个快速计算区间和的算法,用树状数组和线段树都可以;不过看到tags,上面写着还可以用dsu(disjoint set union)并查集来做;感觉挺神奇的,想到了之后再补上!#include#include#include#include#define 阅读全文
posted @ 2014-02-25 13:44 Yours1103 阅读(249) 评论(0) 推荐(0) 编辑