树状数组
文章平均质量分 77
0o恋蓝o0
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 3030 Increasing Speed Limits 树状数组
用一定的规则产生一个序列, 求这个序列的非空递增子序列的个数 这题的 dp 思路很简单 dp[i] 表示到第 i 位的数量 dp[i] = 1 + sum(dp[j]); //j 最后把 dp [i] 的和都加起来就是答案了。 不过这个是 n ^ 2 的 dp , 肯定要超时的, 于是想到每次求前面的和用树状数组。 #include #include #include原创 2012-10-15 16:25:59 · 445 阅读 · 0 评论 -
HDU 4125 Moles 树状数组 + KMP
这题的重点就在于建树, 题目读懂以后, 就会发现, 树建好以后就是一颗排序二叉树。 于是每次用树状数组二分找该节点的插入点。 树建完以后DFS得到字符串, 由于节点非常多, 于是要手写栈。 字符串得到以后就是水水的KMP直接求匹配数了。 #include #include #include using namespace std; const int N = 600007; co原创 2012-10-17 11:20:18 · 417 阅读 · 0 评论 -
HDU 3450 Counting Sequences 树状数组
这题和 HDU 3030 很像先写出 dp 方程, 是n ^ 2 dp 用树状数组优化 #include #include #include using namespace std; typedef long long LL; const int MOD = 9901; const int N = 100007; int sum[N]; int tmp[N]; int num[N];原创 2012-10-16 12:33:07 · 327 阅读 · 0 评论
分享