2019年1月14日
字符串
字符串万能解法
模板题P3370
单哈12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>using namespace std;const long long base=63ll ...
查看全文
2019年1月14日
字符串
代码如下:(Luogu P2580 于是他错误的点名开始了)
123456789101112131415161718192021222324252627282930int son[N][26],n,m,len,tot;char s[N];bool tag[N],vis[N];void ins ...
查看全文
2019年1月13日
C++入门
C++入门主要方便的是OI选手,OI选手一般的系统环境为Windows而竞赛环境为Linux。所以我们对环境的介绍会以Windows为主,Linux为辅。
编译器我们要将一份代码转化为计算机能读懂能运行的程序,必不可少的就是编译器。C++的编译器名字叫做g++,请注意gcc是C语言的编译器而 ...
查看全文
2019年1月9日
算法
何为二分?举个例子,你和你的智障好友两人在一起玩猜数字游戏,你的智障好友想一个$[1,100]$的数让你猜。
线性扫显然是从1猜到100,当然为了防止你的好友故意卡你想了个98之类的数,你也可以从100猜到1。这样一定能得到正确答案因为你一个也不漏地猜完了。
但是如果给你说个条件,比如他每次 ...
查看全文
2019年1月7日
数据结构
主席树(可持久化线段树)权值线段树普通的线段树维护的是单点的值,比方说一个数组是{1,1,2,4,2,4,3,4},开成普通线段树长这样
而权值线段树维护的是这个数出现了几次,就比方说上面的数组维护成了这样
主席树现在我们在树中插入一个数2
观察修改过后的权值线段树,发现只有红色的链有 ...
查看全文
2019年1月6日
科技
我使用的版本是NOI Linux 1.4.1
字体我主要安装的字体是 YaHei Consolas Hybrid
如何安装字体?请在执行以下操作时确定自己为根目录管理员(root),也可以通过终端完成操作。
在/usr/share/fonts/内创建 ...
查看全文
2019年1月4日
数据结构
动态树的一些操作:据说树剖能做的动态树都能做,但目前使(wo)用(zhi)最(xue)多(hui)的LCT不擅长处理子树操作(也有可能是我太菜了)
单点修改/询问
路径询问
连边/删边
······
模板12345678910111213141516171819202 ...
查看全文
2019年1月3日
数据结构
平衡树的一些操作:
查询x的排名
查询第x的数
查询x的前驱/后继
翻转给定区间
查询最大/最小的数
在某个位置插入x
在某个位置插入一串数
删除某个位置的x
删除某个位置开始的一串数
修改某个位置开始的一串数为x
查询区间和/本质不同的数值个数
将数x移 ...
查看全文
2019年1月3日
数据结构
树链剖分的一些操作:
查询子树范围
查询两点最短路径
求LCA ← 树剖LCA
最大子树
结合线段树可以做到:
修改单点值/子树/两点间的值
查询单点值/子树/两点间的和/最大值/最小值
······
······
模板树剖 ...
查看全文
2018年11月8日
数据结构
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 ...
查看全文