- 博客(6)
- 资源 (6)
- 收藏
- 关注
原创 线段树 单点更新
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1166//线段树 单点更新#include #include using namespace std;#define N 50010int segtree[N*4+10];int in[N];void build_tree(in
2016-05-23 21:17:18 392
原创 九度OJ-1088剩下的树
题目地址 http://ac.jobdu.com/problem.php?pid=1088//线段树 区间更新#include #include using namespace std;#define N 100010int segtree[N*4+10];int build_tree(int r ,int n){ if (n
2016-05-23 20:11:10 479
原创 线段树——入门
首先线段树形象来说就是将数组看成一个线段,然后不断的进行分割,保存在树中的不同节点上,有点类似于b_树的定义吧观察上图,首先将整个数组的某种信息(最大值或者最小值等)保存在根节点,对应【1,8】然后对【1,8】线段进行平分,得到【1,4】和【5,8】两个线段,挂在树的第二层。这样节点2保存了数组中【1,4】的某种信息(最大值或者最小值等),节点3保存了【5,8】中的某种信息
2016-05-23 16:07:08 252
原创 线段树
刚刚接触到线段树 , 所谓线段树,就是每个节点存储着数组中某一段的信息(最值或者其他),而叶子节点段长是1,就是数组中的某一个数。主要操作是建树 , 查询,更新等。下面是代码,题目参考 HDU 1754 I hate it注释很详细,可以仔细看,逻辑并不是很复杂、#include #include using namespace std;//线段树 数组实现#def
2016-05-22 15:23:24 219
原创 斐波那契递归算法
递归--以空间换时间首先斐波那契数列的一种定义为利用这个定义,我们可以利用分治法递归解决它。只要求矩阵 的n次方。分治法思想就是 , 求矩阵a的n/2次方,然后再相乘,求得a(n为奇数时候需要特殊处理)代码如下,很简洁的递归。#include #include void fn(int a[][2] , int n){//计算方阵a的n次方
2016-05-19 17:03:21 1578
原创 全排列 DFS 回溯
//dfs全排列#include#include char temp[5] = {'A','B','C','D'};//seedchar visited[5] ;//char out[5] ;//保存生成的字符串int deep ;int pos ;//out数组的位置void print(){ printf("%s\n",out);}int dfs(int step){
2016-05-15 15:44:23 1395
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人