树状数组
Ac-try
这个作者很懒,什么都没留下…
展开
-
树状数组应用
原文地址:http://blog.csdn.net/maiyuetong/article/details/6661496一维树状数组常用的3个函数int lowbit(int x) //取x的最低位1,比如4,则返回4,如5,则返回1 { return x&(-x); } void update(int i, int val) //将第i个元素增加v转载 2015-01-22 00:01:41 · 369 阅读 · 0 评论 -
CodeForces 121E -- Lucky Array (树状数组)
题目大意: 幸运数组,只由4和7组成,题目说数字不会超过10000,只要把这以内的幸运数字都标记出来就可以了;两种操作:add lrd 从l到r每一项增加数值d; count lr 输出从l到r的幸运数字的个数;代码实现:#include#includeconst int maxn=100010;int a[maxn],flag[maxn]原创 2015-04-07 19:51:04 · 718 阅读 · 0 评论 -
UESTC -- 841 休生伤杜景死惊开(树状数组 逆序数)
题目大意:给出n个数,从左往右起代石堆的高度Ai,任何两堆较矮的石堆都能和它们之间的一座较高的石堆形成"八卦锁",将其中之人牢牢锁住,无从逃脱。求出这一串数有几个“八卦锁”;思路分析:对于这个样例 1 2 3 4 1 ,能形成“八卦锁”的数是 “1 2 1”,“1 3 1”,“2 3 1”,“1 4 1”,“2 4 1”,“3 4 1”,可以发现,答案就是,每个数的(这个数之前比它小的数的个数原创 2015-05-19 22:58:16 · 941 阅读 · 0 评论