树状数组
acunstoppable
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CF961E 数据结构 树状数组
题意: 给定一序列a1,…,an, 求(i,j)的对数,使得a[i]>=j, 且a[j]>=i(i < j)。 思路: 大致思路:i从1到n遍历,对于每个i,需要找出有多少个j符合上述的条件。用树状数组维护每个i的选取状态(0或1)。 对于每一个i, ①对于a[i]>=j,我们可以用getSum(a[i]),得到符合条件的j的个数; ②对于a[j]>=i,我们可以先按a[i]的值从小到大原创 2018-05-03 17:46:53 · 379 阅读 · 0 评论 -
动态规划 FZU2236 树状数组优化
题意: 这题是求一个数列中严格递增子序列的个数。比如数列(1,3,2)的严格递增子序列有(1)、(3)、(2)、(1,3)、(1,2),共5个。长得一样的但是位置不同的算不同的子序列,比如数列(3,3)的答案是2。 思路: 1、类LIS问题: dp[i] = sigmadp[j] + 1(j < i && a[j] < a[i]) 2、离散化 + 树状数组 反思: 代码:#include原创 2018-05-03 23:37:12 · 253 阅读 · 0 评论
分享