Loading

摘要: 神奇的splay树 总结 1. splay树是一种BST,其通过不断的splay操作维持树的平衡;其基本思想是将频率高的点(实际是每次查找的点)通过splay操作旋转到树根 2. 核心操作: update(x): 维护信息,类似线段树中的push_up rotate(x): 单旋,即将x旋转到其父节 阅读全文
posted @ 2019-06-25 21:10 fridayfang 阅读(159) 评论(0) 推荐(0) 编辑
摘要: polya计数 总结 问题: 同构计数 \ bunside定理: 在置换g下染色方案不变数的平均值;公式:$\frac{1}{|G|}\sum_{g\in G}C(g)$, 其中$C(g)$ 是在染色方案在置换g下保持不变的方案的数目;不证; \ polya定理: \ polya定理是对Burnsi 阅读全文
posted @ 2019-06-25 15:03 fridayfang 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 动态规划的几种模型 背包模型 1. 0 1 背包 v:从大到小 f[i][w] = max(f[i 1][w],f[i 1][w wi]+vi) 2. 完全背包 v: 从小到大 f[i][w] = max(f[i 1][w],f[i][w wi]+vi) 3. 多重背包: 二进制优化为0 1背包 v 阅读全文
posted @ 2019-06-24 19:43 fridayfang 阅读(918) 评论(0) 推荐(0) 编辑
摘要: 统计逆序对的两种解法 归并排序(mergeSort) 逆序对定义 $ia[j]$,假设我们分别使得通过mergeSort使得左右半边有序 即$a[1]...a[mid]$ 递增, $a[mid+1]....a[n]$递增,我们需要通过merge操作,完成整个的排序和新增逆序对的计数,较小值出现在左半 阅读全文
posted @ 2019-06-24 19:25 fridayfang 阅读(1595) 评论(0) 推荐(0) 编辑
摘要: 生成函数解决多重集合的计数问题 组合计数问题 描述 多重集合 $ S= \{n_1\cdot{a_1},n_2\cdot{a_2}...n_k\cdot{a_k}\}$其中$a_1,a_2...a_k$代表不同的元素, $n_1,n_2...n_k$分别代表它们的个数;主要问题求S的r集合(无序)的 阅读全文
posted @ 2019-06-24 19:07 fridayfang 阅读(536) 评论(0) 推荐(0) 编辑
摘要: kmp 容易理解板子 详情见 "知乎" 算法思想 1. 对模式串求PMT,但实际上nxt数组是PMT向前移动一位 2. nxt数组含义:记母串为m[],模式串为p[]; m[i]与p[j]比较失配,需要比较m[i]与p[next[j]] 3. 注意:求PMT时,前缀集合,后缀集合都不包含字符串本身 阅读全文
posted @ 2019-03-20 22:45 fridayfang 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 3.13 2019 poj 泛做 主要选择AC ratio 20% 30%的题目在做 poj1001 高精度幂 先将小数当成整数,记录数点位置 进行高精度乘法,还原小数点位置 处理前导0,后导0,其实并不难 "blog1" , "blog2" cpp include include include 阅读全文
posted @ 2019-03-20 22:34 fridayfang 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 8436:Saving Tang Monk 题解 非常多的条件,但题目很有启发性 可以看作高维状态的在最短路径 这样想来之前格子类型的问题,本质是将坐标看作状态节点 很久以前的关于转折段数问题,也可以为段数增加状态,也可以用trick做 code 阅读全文
posted @ 2019-03-20 22:31 fridayfang 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 单调队列 && 单调栈 单调队列 维护某个滑动区间的min or max,可用于dp的优化 以维护min为例,采用STL双端队列实现 每次加入元素x前 先检查队首元素==滑动后要删除的元素,如果是队收弹出 同时将队尾 x的元素都弹出 加入元素x,此时队收元素就是当前的Min "luogu1886" 阅读全文
posted @ 2019-03-12 21:15 fridayfang 阅读(133) 评论(0) 推荐(0) 编辑
摘要: (写给自己看)最短路系列 dijkstra算法 思想 无负权的单源最短路 每次扩展的是最短路径的点 可轻松实现,同一节点可能有不同距离在队列中,但每次出优先队列都是最小的,也就是最短距离 "poj1874" cpp include include include include include in 阅读全文
posted @ 2019-03-12 20:36 fridayfang 阅读(153) 评论(0) 推荐(0) 编辑