树状数组是对一个数组改变某个元素和求和比较实用的数据结构。设a[1...N]为原数组,定义c[1...N]为对应的树状数组:c[i]=a[i-2^k+1]+a[i-2^k+2]+...+a[i]其中k为i的二进制表示末尾0的个数,所以2^k即为i的二进制表示的最后一个1的权值.也就是说,把k表示成二...
分类:
其他好文 时间:
2014-09-02 10:14:14
阅读次数:
574
这题说的是 给了一张长方形的纸 1*n 然后可以按照不同的做法去折这个纸张 他有两种操作,操作1 给了一个pi 点 然后将左边的纸往右边折,第2种操作是给了一个L 和 R 然后计算出 L和R 之间的纸如果 切成单位长度有多少块, 开一个标记数组记录方向然后枚举将每位的值复制到相对应的地方,然后用树状...
分类:
其他好文 时间:
2014-09-01 22:23:33
阅读次数:
336
题意:一个由n个非负整数组成的序列,问进行最多k次相邻交换后最少的逆序对数 (1 ≤ n ≤ 10^5, 0 ≤ k ≤ 10^9, 0 ≤ ai ≤ 10^9)。。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911
——>>每次只能交换相邻的两个数,每次交换,只改变这两个数的逆序,其他的数对于这两个数的逆序没有改变,所以,求出所有的逆序对...
分类:
其他好文 时间:
2014-09-01 21:15:35
阅读次数:
191
题解:基础的树状数组区间修改,单点查询。#include #include int c[100005],a,b,n;int modify(int x,int num){while(x0)s+=c[x],x-=x&-x;return s;} //特别注意s初始化为0。 int main(){ w...
分类:
其他好文 时间:
2014-09-01 19:30:33
阅读次数:
184
题意:
给一棵树
给出两种操作:
1.在某个结点上加上一个值,在这个结点所有的儿子结点上减去这个值,在这个结点的所有孙子结点上加上这个值,在所有曾孙子结点上减去这个值,直到底。
2.查询某个结点上的值
分析:
把这个问题转化为树状数组的区间求和
样例经过dfs处理后如下,每个结点处理出了两个值l,r,层数1,2,3...,层数为奇数的属性为0,层数为偶数的属性为1
可以看到...
分类:
其他好文 时间:
2014-09-01 14:09:03
阅读次数:
213
题目链接:点击打开链接
当转移[l,r] 区间时, 若[0, r-1] 这里的区间都已经转移完毕时是最优的,所以按右端点升序,同理右端点相同时左端点升序,然后树状数组维护一下前缀和。
#include
#include
#include
#include
#include
using namespace std;
#define N 100005
#define mod 100000...
分类:
其他好文 时间:
2014-08-31 18:43:51
阅读次数:
340
一: 首先什么是zTree? zTree 是一个依靠 jQuery 实现的多功能 “树 插件 ”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。专门适合项目开发,尤其是 树状菜单、树状数据的Web显示、权限管理等等。 二:zTree的优点是什么? 1.zTree v3.0...
分类:
其他好文 时间:
2014-08-31 18:26:41
阅读次数:
288
题目大意:
有一棵树,对这个树有两种操作:1:表示为(1 x val),在编号为x的节点上加上val,然后给x节点的每个儿子加上- val,再给每个儿子的儿子加上-(- val),一直加到没有儿子为止。2:表示为(2 x)查询x节点上的值。
做法:
由于每次修改操作修改的并不是一个值,而是很多值,那我们将该题抽象成区间修改,点查询的问题。那怎么抽象呢?可以明白的是,每次操作虽然有加有减,但是...
分类:
其他好文 时间:
2014-08-31 09:16:01
阅读次数:
235
每次只把短的部分往长的部分折叠,直接用树状数组爆搞就可以了。
每次长度都缩小一些暴力的复杂度不是太高,启发式暴力????
C. Appleman and a Sheet of Paper
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standa...
分类:
移动开发 时间:
2014-08-30 15:11:21
阅读次数:
275
一棵树上有K个黑色节点,剩余节点都为白色,将其划分成K个子树,使得每棵树上都只有1个黑色节点,共有多少种划分方案。
个人感觉这题比较难。假设dp(i,0..1)代表的是以i为根节点的子树种有0..1个黑色节点的划分方案数。
当节点i为白色时,对于它的每个孩子的节点处理:
求dp(i, 0)时有:
1,将该节点与孩子节点相连,但要保证孩子节点...
分类:
移动开发 时间:
2014-08-30 12:43:49
阅读次数:
265