Peter_Matthew的博客

字符串哈希

字符串
字符串万能解法 模板题P3370 单哈12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>using namespace std;const long long base=63ll ...
查看全文

Trie树,字典树

字符串
代码如下:(Luogu P2580 于是他错误的点名开始了) 123456789101112131415161718192021222324252627282930int son[N][26],n,m,len,tot;char s[N];bool tag[N],vis[N];void ins ...
查看全文

【C++入门】01 环境设置

C++入门
C++入门主要方便的是OI选手,OI选手一般的系统环境为Windows而竞赛环境为Linux。所以我们对环境的介绍会以Windows为主,Linux为辅。 编译器我们要将一份代码转化为计算机能读懂能运行的程序,必不可少的就是编译器。C++的编译器名字叫做g++,请注意gcc是C语言的编译器而 ...
查看全文

二分

算法
何为二分?举个例子,你和你的智障好友两人在一起玩猜数字游戏,你的智障好友想一个$[1,100]$的数让你猜。 线性扫显然是从1猜到100,当然为了防止你的好友故意卡你想了个98之类的数,你也可以从100猜到1。这样一定能得到正确答案因为你一个也不漏地猜完了。 但是如果给你说个条件,比如他每次 ...
查看全文

可持久化数据结构

数据结构
主席树(可持久化线段树)权值线段树普通的线段树维护的是单点的值,比方说一个数组是{1,1,2,4,2,4,3,4},开成普通线段树长这样 而权值线段树维护的是这个数出现了几次,就比方说上面的数组维护成了这样 主席树现在我们在树中插入一个数2 观察修改过后的权值线段树,发现只有红色的链有 ...
查看全文

NOI Linux使用心得

科技
我使用的版本是NOI Linux 1.4.1 字体我主要安装的字体是 YaHei Consolas Hybrid 如何安装字体?请在执行以下操作时确定自己为根目录管理员(root),也可以通过终端完成操作。 在/usr/share/fonts/内创建 ...
查看全文

动态树

数据结构
动态树的一些操作:据说树剖能做的动态树都能做,但目前使(wo)用(zhi)最(xue)多(hui)的LCT不擅长处理子树操作(也有可能是我太菜了) 单点修改/询问 路径询问 连边/删边 ······ 模板12345678910111213141516171819202 ...
查看全文

平衡树

数据结构
平衡树的一些操作: 查询x的排名 查询第x的数 查询x的前驱/后继 翻转给定区间 查询最大/最小的数 在某个位置插入x 在某个位置插入一串数 删除某个位置的x 删除某个位置开始的一串数 修改某个位置开始的一串数为x 查询区间和/本质不同的数值个数 将数x移 ...
查看全文

树链剖分

数据结构
树链剖分的一些操作: 查询子树范围 查询两点最短路径 求LCA ← 树剖LCA 最大子树 结合线段树可以做到: 修改单点值/子树/两点间的值 查询单点值/子树/两点间的和/最大值/最小值 ······ ······ 模板树剖 ...
查看全文

线段树

数据结构
12int ls(int x){return x<<1;}int rs(int x){return x<<1|1;} 线段树1区间加减,区间查询 1void push_up(int x){ans[x]=ans[ls(x ...
查看全文
上一页 下一页