摘要:
题目大意:给定一个序列,求出其所有的上升子序列。题解:一开始我以为是动态规划,后来发现离散后树状数组很好做,首先,c保存的是第i位上升子系列有几个,那么树状数组的sum就直接是现在的答案了,不过更新时不要忘记加1,因为当前元素本身也是一个子序列,比如数列离散后为1 3 2 4 5,那么第一位得到之前的答案为0,更新时1位加1,第二位算出为1,更新时3位加(1+1),第三位也一样,一次类推,同树状数组求逆序对的方法一样,但是更新的不是1,而是之前所有的答案数加1。#include #include using namespace std; const int N=100005;... 阅读全文
posted @ 2014-03-03 10:51
forever97
阅读(189)
评论(0)
推荐(0)

浙公网安备 33010602011771号