摘要:
这道题真是我见过的最坑的平衡树的题目。。。。 time limit per test: 0.25 sec. memory limit per test: 4096 KB 这个也太小了吧! 题目大意就是有一个数列一开始是1-n然后给出l, r每次把当前第l到第r个逆序,然后输出n#... 阅读全文
摘要:
题目描述:最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a#include#includ... 阅读全文
摘要:
解析:这道题目就是个裸题 每次操作的时候正常维护就行了#include#include#includeusing namespace std;#define maxn 2000005struct Treap{ Treap *l,*r; int fix,key,size;... 阅读全文
摘要:
很简单的基础题目了,就是用Treap重新写了一下练习Treap用的,注意特殊处理有没有前驱和后继的情况,不然要RE#include#include#includeusing namespace std;#define maxn 2000005struct Treap{ Tre... 阅读全文
摘要:
#include#include#includeusing namespace std;#define maxn 2000005struct Treap{ Treap *l,*r; int fix,key,size; Treap(int key_){ ... 阅读全文
摘要:
平衡树的入门题目,也可以用Treap来实现,我觉得Treap的核心就是那个rand()了用来保证树不退化成链,同时还是有平衡树的特性。。总体来说我觉得比较好些,而且比较快#include #include #include #include #include #include us... 阅读全文
摘要:
题目大意,给定一个字符串求第K大的子串 首先给这个字符串建立SAM然后发现实际上每一个节点就可以表示一个子串然后实际上就是从root到这个节点的路径,然后按照splay的那种思路建立size然后用k去找在当前节点的哪一个子树中,然后减去当前子树的size就可以得到在下一个子树中的位... 阅读全文
摘要:
思路就是对于建立第一个串的SAM然后存储每一个节点和当前的这个串能够匹配的最大长度,然后存储对于当前的这个节点全局的能够匹配的最小长度,然后每次更新完当前之后要对每个节点根据len排序然后向前对失配边的上一个节点的当前能够匹配的最大长度进行更新,就是{原来的匹配最大长度, 原来的l... 阅读全文
摘要:
模板题目,感觉和用AC自动机差不多,就是一个一个字符在自动机里面匹配,找不到就沿着失配边往上走,然后如果当前节点变成了null那么就不能继续匹配,就把当前设置成root然后len变成0,否则就沿着边继续走,然后把len变成当前的节点的len+1因为是失配边,所以前边的都可以匹配,变... 阅读全文
摘要:
题目描述: 求有多少数对(x,y)(1#include #include using namespace std;const int MAXN = 10000000;bool nprime[MAXN+10];int pcnt, prime[MAXN+10], sum[MAXN+10... 阅读全文