数据结构
Myriad_Dreamin
这个作者很懒,什么都没留下…
展开
-
[练习]自己写的C语言链表模板 ver 1.0
#include <stdio.h>#include <stdlib.h>//定义布尔数值 true false #define true 1#define false 0//定义错误类型 wrong #define wrong 0x7ffffffftypedef int boolean;//定义布尔类型 typedef struct Node *list,*position;st原创 2017-12-30 13:39:21 · 270 阅读 · 0 评论 -
数据结构简单总结(1)——栈
记载目前遇到的数据结构,以及对他们的掌握情况。一、栈(stack)栈目前只遇到过朴素的栈,并没有那么多特别的属性。 普通的栈的性质: ①后入先出(FILO)。 项目 掌握情况 stl应用 100% 数组(array)实现 100% 链表(list)实现 100% 堆(heap)实现 100%1.stl应用...原创 2018-02-16 03:51:18 · 198 阅读 · 0 评论 -
2018 BUPT Winter Training #6 Div.2
A - Intersecting Linesrt,求相交直线。#include <iostream>#include <cstdlib>#include <cmath>#include <iomanip>#define FF(_i,_l,_r) for(int _i=_l;_i<=(_r);_i++)using namespa...原创 2018-03-07 22:52:27 · 211 阅读 · 0 评论 -
2018 BUPT Winter Training #5 Div.2
A - 解方程看着吓人,实则low得一比,就是求(a,b)到(c,d)的距离。#include <cstdio>#include <cmath>using namespace std;double dis(double x1,double y1,double x2,double y2){ return sqrt((x1-x2)*(x1-x2)+(y1-...原创 2018-03-07 22:18:18 · 252 阅读 · 0 评论 -
2018 BUPT Winter Training #4 Div.2
A - Stall Reservations 最小堆维护畜栏的工作区间即可。#include <cstdio>#include <queue>#include <algorithm>#define F(_i,_u) for(int _i=0;_i<(_u);_i++)#define FF(_i,_l,_r) for(int _i=_l;_i...原创 2018-03-07 21:57:58 · 257 阅读 · 0 评论 -
2018 BUPT Winter Training #3 Div.2
A - The order of a Tree 根据二叉搜索树的性质,我们知道key[Lchild[r]]≤key[r]≤key[Rchild[r]]key[Lchild[r]]≤key[r]≤key[Rchild[r]]key[Lchild[r]]\le key[r]\le key[Rchild[r]],所以LDR遍历插入一定是同结构的最小字典序二叉搜索树 指针版:#include...原创 2018-03-07 21:36:20 · 257 阅读 · 0 评论 -
懒惰删除(lazy delete)的二叉搜索树模板(BST/Binary Search Tree)
#include <cstdio>#define max(_x,_y) (((_x)<(_y))?(_y):(_x))using namespace std;//test readerinline int readi(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='...原创 2018-02-12 18:45:04 · 543 阅读 · 0 评论 -
并查集模板(Disjoint-set Data Structure)
//Disjoint-set#include <cstdio>//修改DS_size更改使用上界const int DS_size=100000; //pre:表示x的父亲是pre[x]int pre[DS_size+5];//表示x属于的集合的大小。作用:①用于启发式策略参考;②对外提供size(i)查询。int siz[DS_size+5];//初始化inli...原创 2018-02-12 02:05:38 · 359 阅读 · 0 评论 -
Codeforces Hello 2018 - B - Christmas Spruce
建立一棵树,然后遍历。如果有向下的子节点非空,就继续递归遍历,如果这非叶子结点结果又不满足云杉定义,那么就不是云杉,立即终止递归遍历。(注意因为树的特性和题目数据,我们可以放心用递归而不导致栈溢出)#include #include using namespace std;struct tree{ vectorint> next; }tree[10005];int flag=原创 2018-01-09 01:00:12 · 206 阅读 · 0 评论 -
2018 BUPT Winter Training #1 div.1
修电脑回来已经三点了…如果多一个半小时应该能够多写一题两题的,说到底还是水平太菜.. 可能有空会补C.E.X三道题,G题待定A - One Bomb题意 只有一个炸弹可以消去i行j列上的所有的墙,问能否消去所有的墙。 思路:统计行列wall总数,在(i,j)上放置一个炸弹,iswall表示二元谓词判断(i,j)是否是墙,消去的墙的数目des=row[i]+col[j]−i原创 2018-01-30 18:44:39 · 260 阅读 · 0 评论 -
北航OJ 0050~0052 0055 0056 0064 0065 2014级第二次算法上机
0050 零崎的补番计划Ⅰ 找第k大元素。 思路:分治。#include #include int a[1000005],b[500005],c[500005];void find(int* d,int* e,int* f,int k,int pi){ int i,lower=0,bigger=0,num=*(d+1+pi/2);原创 2018-01-05 16:52:09 · 587 阅读 · 0 评论 -
[练习]自己写的c++链表模板 ver 1.5
#include <cstdio>#include <cstdlib>#ifndef LIST_H#define LIST_H struct Node;struct List;typedef Node* position;typedef bool (*_cmpFunctor)(position _x,position _y);typedef bool (*_...原创 2018-04-03 22:53:55 · 173 阅读 · 0 评论