![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
理论知识
文章平均质量分 85
由希Yuki
懒狗
展开
-
不GG的Splay
Splay(伸展树)是一种维护二叉搜索树的数据结构,可以用它干一些很神奇的东西,这篇文章先来介绍它的基本操作。首先定义几个变量:fa[x] 表示 x 的父节点ch[x][y] 表示 x 的儿子节点,y=0 表示左儿子,y=1 表示右儿子cnt[x] 表示 x 这个数出现了几次val[x] 表示 x 节点的权值是多少size[x] 表示以 x 为根的树节点个数(树的大小)tot_size 表示树的总大小root 表示当前根节点是哪个下面介绍操作:clear原创 2021-02-07 16:20:33 · 50 阅读 · 0 评论 -
图论
图的存储邻接矩阵map[i][j] 表示第 i 个点与第 j 个点连有一条边,如有权值就把矩阵内元素的值赋成权值。空间复杂度O(n2),时间复杂度O(n2)void Adjacency matrix() { for(int i=1;i<=m;i++) { int u,v,c; scanf("%d%d%d",&u,&v,&c); map[u][v]=c; } for(int i=1;i<=n;i++) for(int j=1;j<=n;j原创 2021-02-07 16:18:50 · 246 阅读 · 0 评论 -
数据结构
- 初级数据结构1、链表、双向链表定义链表:struct LinkList { int value; LinkList *next; }; 根据输入建立单链表将输入的节点插入到链表头部。LinkList *BuildList() { LinkList *head = NULL; int data; int i = 0; while (scanf("%d", &data) != EOF) {原创 2021-02-07 16:17:03 · 181 阅读 · 0 评论 -
字符串
字符串哈希字符串哈希就是一个字符串到一个整数的映射,常用于比较两个字符串是否相等。map大法好set大法好hash值相等两个字符串大概率相等。hash值不等两个字符串一定不相等。一般采取神奇的RK算法。RK-hash 就是把一个字符串看作一个 base 进制的大整数,然后对一个素数 p 取模。hash[i]=(hash[i-1] * base+s[i])%pbase 可以取 31,131,13131 等,大于 |Σ| 即可。注意要把 a 看作 1 而不是 0。p 一定要是 l..原创 2021-02-07 16:12:35 · 120 阅读 · 0 评论