08 2018 档案

摘要:介绍&主要用途 主席树,据说由fotile大佬因不会划分树而发明。由于大佬名字缩写为HJT而被Seter大佬命名为主席树。 主要用于查询区间第k值。 原理 首先离散化,对每个节点i建一棵[1,i]的权值线段树。这里用到了前缀和思想并且满足可加减性。但这会MLE。然后我们发现,对于每个点的线段树,它和 阅读全文
posted @ 2018-08-25 14:36 A星际穿越 阅读(231) 评论(0) 推荐(0)
摘要:介绍、用途 LCT是树链剖分中的一种,又叫实链剖分、动态树,常用于维护动态的树、森林。 维护方式 LCT并不直接维护原树,而是用一堆splay作为辅助树来维护。原树中的一条实链上的点在一棵splay中,虚边体现为辅助上的连接两棵splay的虚边,只认爸爸不认儿子。 变量介绍 1 int n,m; 2 阅读全文
posted @ 2018-08-22 20:43 A星际穿越 阅读(260) 评论(0) 推荐(0)
摘要:原理 替罪羊树不依靠旋转,而是依靠重构不平衡的子树使整棵树达到平衡状态。 变量介绍 1 int n; 2 struct Node { 3 int val,num; //节点的值,数量 4 int siz,hid; //以该节点为根的子树中未被删的节点数和已被删的节点数 5 int son[2],fa 阅读全文
posted @ 2018-08-15 18:49 A星际穿越 阅读(440) 评论(2) 推荐(1)
摘要:原理 以随机数维护平衡,使树高期望为logn级别 不依靠旋转,只有两个核心操作merge(合并)和split(拆分) 因此可持久化 先介绍变量 1 const int N=100005; 2 int n; 3 struct Node { 4 int val,key,siz; //权值,随机权值,子树 阅读全文
posted @ 2018-08-14 16:13 A星际穿越 阅读(493) 评论(0) 推荐(0)
摘要:OI界中有两大玄学算法,一为网络流,一为模拟退火——沃·兹基硕德 算法思想来源 在热力学上,退火现象指物体逐渐降温的物理现象,温度愈低,物体的能量状态会低;够低后,液体开始冷凝与结晶,在结晶状态时,系统的能量状态最低。大自然在缓慢降温(亦即,退火)时,可“找到”最低能量状态:结晶态。但是,如果过程过 阅读全文
posted @ 2018-08-13 09:00 A星际穿越 阅读(302) 评论(0) 推荐(0)
摘要:先介绍变量定义 1 int n; 2 struct Node { //Splay节点定义 3 int fa,son[2],val,num,siz; //fa:它爸爸;son它儿子,左0右1;val:这个节点的值 4 //num:这个值的数量;siz:以它为根的子树的大小 5 void res() { 阅读全文
posted @ 2018-08-12 18:43 A星际穿越 阅读(429) 评论(0) 推荐(0)
摘要:此博客专用于调格式 一级头 二级头 三级头 四级头 代码插入测试 啥都没有 行内代码 显示行号 显示行号,行内代码 全部折叠 #include<bits/stdc++.h> using namespace std; int main(){ int a,b;scanf("%d %d",&a,&b); 阅读全文
posted @ 2018-08-12 10:57 A星际穿越 阅读(121) 评论(0) 推荐(0)
摘要:原来以为写博客要比写作文简单,哪知一写才知道都差不多难写。。。唯一的区别就是写博客可以随心所欲。。。 这是我的第一篇博客,也是我写博客的起点 为啥要写博客? 我们老师让我们每个人弄一个博客,方便分享他其实是让我们创建一个CSDN的23333 而我则是想写一些博客来存那些算法的板子和那些题目的AC代码 阅读全文
posted @ 2018-08-12 09:24 A星际穿越 阅读(122) 评论(0) 推荐(0)