摘要: 总的来说,可并堆仍然具有堆的性质,即:父节点和孩子节点之间的 key 值大小关系恒定。在此基础上,可并堆增加了可以快速合并的操作。 直观上来讲,因为一个二叉堆是采用完全二叉树的方式进行存储的,这是一个极其平衡的数据结构,但是也正是因为平衡,使得在合并的时候需要花很大力气来再次调整成平衡的结构。 而对 阅读全文
posted @ 2018-10-30 16:51 shellpicker 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 代码如下 cpp include using namespace std; const int maxn=1e6+10; inline int read(){ int x=0,f=1;char ch; do{ch=getchar();if(ch==' ')f= 1;}while(!isdigit(c 阅读全文
posted @ 2018-10-29 23:12 shellpicker 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 N 个数,求这 N 个数中任选两个数进行异或运算,求最大的异或和是多少。 一个 int 类型的整数,可以看作一个长度为32位的字符串,异或运算不像加法,最大值不一定是由两个较大值得到。 在这里,可以采取一种树上贪心操作,即:将每个整数按照位的顺序从高位插入一棵 trie 树,并且在每 阅读全文
posted @ 2018-10-29 21:33 shellpicker 阅读(400) 评论(0) 推荐(1) 编辑
摘要: 简单来说,这是一道树形结构上的最大流问题。 朴素的解法是可以以每个节点为源点,单独进行一次dp,时间复杂度是$O(n^2)$ 但是在朴素求解的过程中,相当于每次都求解了一次整棵树的信息,会做了不少的重复工作。 对于一棵子树的孩子节点和根节点之间存在着最优解的某些关联,因此可以采用自顶向下的一次 df 阅读全文
posted @ 2018-10-29 16:00 shellpicker 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 题目中所说的每门课都可能有先修课,也可能没有先修课,因此课与课之间的关系构成了一颗森林。 这种树上选择若干物品的最优解问题对应着树形背包问题。 阶段:子树的大小 状态:在当前子树中,选取 i 门课能够获得的最多学分 状态转移方程:$dp[u][t]=max\{\Sigma_{i=1}^pdp[v_i 阅读全文
posted @ 2018-10-29 14:45 shellpicker 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 代码如下 cpp int trie[maxn][26],tot=1,ed[maxn]; void insert(char s){ int len=strlen(s+1),now=1; for(int i=1;i 阅读全文
posted @ 2018-10-27 21:17 shellpicker 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 字符串的最小表示是该字符串的所有循环同构串中字典序最小的那个串。 根据其循环同构结构,采用破环成链,即: 倍增 的形式来表示。 引理:若两个循环同构串$s[i+k] using namespace std; const int maxn=1e6+10; char s[maxn]; int n; vo 阅读全文
posted @ 2018-10-27 21:02 shellpicker 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 引理:$s[1,i]$ 具有长度为 $len$ 的循环节的充要条件是:$len\ |\ i,s[1,i len]=s[len+1,i]$。 代码如下 阅读全文
posted @ 2018-10-27 00:06 shellpicker 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 引理:当计算第 $i$ 位的失配指针时,若 $j_0$ 是一个候选条件,那么小于 $j_0$ 的最大候选条件是 $fail[j_0]$。 证明:反证法。假设存在 $j_1$,使得$fail[j_0] using namespace std; int main() { ios::sync_with_s 阅读全文
posted @ 2018-10-26 22:52 shellpicker 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 构造后缀数组$SA[\ ]$,即对一个字符串的每个后缀按照字典序排序后得到的数组,在这里采用哈希+二分的方式优化字符串的比较部分,使得复杂度由$O(n^2 logn)\rightarrow O(n log^2n)$。 代码如下 cpp include using namespace std; con 阅读全文
posted @ 2018-10-26 16:52 shellpicker 阅读(254) 评论(0) 推荐(1) 编辑