ACM_树状数组
luke2834
A junior researcher~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu1556 树状数组 区间修改,点查询
#include #include using namespace std;const int maxn = 100005;int tree[maxn];int n;inline int lowbit(int x){ return x&(-x);}void update(int i,int x){ while(i<=n) { tree[i] += x; i原创 2015-03-23 18:28:40 · 403 阅读 · 0 评论 -
hdu2689 树状数组 逆序数
#include #include #define maxn 1003int tree[maxn];int n;inline int lowbit(int x){ return x&(-x);}void update(int i,int x){ while(i <= n) { tree[i] += x; i += lowbit(i); }}int que原创 2015-03-23 18:38:20 · 453 阅读 · 0 评论 -
hdu5192 BC#34 树状数组维护
问题描述乐乐又开始搭积木了。他想在昨天搭完的积木上,重新搭建,使得其中有连续W堆积木具有相同的高度,同时他希望高度最少为H。乐乐的积木都这了,也就是说不能添加新的积木,只能移动现有的积木。他可以把一个积木从一堆移动到另一堆或者新的一堆,但是不能移动到两堆之间。比如,一次移动之后,"3 2 3" 可以变成 "2 2 4" 或者 "3 2 2 1",但是不能变成"3 1 1 3".请你帮他原创 2015-03-24 11:15:33 · 556 阅读 · 0 评论 -
Codeforces 597C Subsequences dp + 树状数组
题意给你n的一个排列,问你包含k个数的子序列个数有多少。n <= 10^5,k <= 11思路dp状态dp[i][j] 表示前i个数,包含k个数的子序列个数有多少f[i][j]表示前i个数,以a[i]结尾的,包含k个数的子序列有多少dp[i][j] = dp[i-1][j] + f[i][j] 这个转移很容易想到具体f[i][j]怎么转移,稍微有点麻烦f[i][j] = sum f原创 2015-12-21 22:10:57 · 719 阅读 · 0 评论
分享