luogu
laruat
SSL
展开
-
关于树链剖分
树链剖分模板题顾名思义,即是把树的形态用线性链表表示出来。那么首先就是要造个树。ll siz[N],dep[N],son[N],fa[N];//son是以x为祖先的重儿子坐标 void build_tree(int now){ siz[now]=1;//初始化树的大小 for(int i=he[now];i;i=nxt[i]) { int tar=to[i]; if(tar==fa[now]) continue; fa[tar]=now,dep[tar]=dep[now]+1;原创 2022-02-19 08:40:02 · 110 阅读 · 0 评论 -
Splay
#include<iostream>#include<cstdio>#define N 100000#define push_up(x) t[x].size=t[t[x].son[0]].size+t[t[x].son[1]].size+1using namespace std;int n,m,l,r,root,tot;struct node{ int size,son[2],mark,val,pre; void init(int x,int fa) {原创 2021-08-21 11:53:44 · 69 阅读 · 0 评论 -
Treap(AVL)板子
神仙东西高级的呀,100多行,调了我亿点点时间。哦也,过了直接放代码,代码有注释。#include<iostream>#include<cstdio>#include<cstdlib>#define N 100000#define INF 1000000000 using namespace std;int n,opt,x;int son[N+1][2],val[N+1],data[N+1],size[N+1],tot,cnt[N+1],root;i原创 2021-08-18 21:18:59 · 156 阅读 · 1 评论 -
数学期望入门篇
数学期望例题单选错位大家可以先看完题目描述。我们可以先从数学期望的定义下手,假设有一个随机数x,它的取值范围是一到十,那么对于一个可能xi,它的期望是xi*10,也就是他本身的值乘概率,1~10的期望加起来就是x的期望。那么我们可以献上代码,再解释#include <iostream>#include <cstdio>#include <cstring>#include <queue>#define N 10000011#define ll原创 2021-07-11 21:16:16 · 406 阅读 · 0 评论 -
luoguP398 仓鼠找sugar
luoguP398 仓鼠找sugar传送门在此题目描述:小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而他的基友同时要从他的卧室(c)到图书馆(d)。他们都会走最短路径。现在小仓鼠希望知道,有没有可能在某个地方,可以碰到他的基友?小仓鼠那么弱,还要天天被zzq大爷虐,请你快来救救他吧!输入格式第一行两个正整数n和q,表示这棵树节点的个数和询问的个数。接下来n-1行,每行两个正整数u和原创 2021-01-25 21:34:05 · 94 阅读 · 0 评论