
数据结构
文章平均质量分 77
大蒟蒻syk
这个作者很懒,什么都没留下…
展开
-
[UVALive5058] Counting BST && 计数DP + BST
先构造出BST 然后在上面进行统计即可 统计方法为 左子树方案数 * 右子树方案数 * C(当前位置为根节点总数, 左子树为根节点总数)#include #include #include #include #include #include #include#define SF scanf #define PF printf us原创 2015-02-01 16:46:38 · 416 阅读 · 0 评论 -
[UVA11922] Permutation Transformer && Splay模板
模板题 无需多说#include#includeusing namespace std;#define MAXN 500000#define INF 99999999int n, m;struct Node { int key, sz, cnt; int flag; Node *ch[2], *fa; Node(){} Node(int x,原创 2014-11-28 23:17:44 · 459 阅读 · 0 评论 -
[BZOJ1014] [JSOI2008]火星人prefix
这道题需要用到一个叫Rabin-Karp的算法 自行百度或者看算导 不作解释 可以看的出来这是一个字符串匹配的题目 单由于一些特殊的插入操作 使得其本身变得难以维护 所以引入splay进行维护对于树中的每一个节点 保存以其为根的子树的RK值(要包括左右子树 自己放在左右子树中间) 这样我们就可以快速的找到一个字符串的RK值对于RK值的维护 可在splay旋转过程中利用左原创 2014-12-15 23:10:48 · 547 阅读 · 0 评论 -
[BZOJ1997][Hnoi2010]Planar && 并查集
记集合m+i 为不能和第i条边在同一集合的边 弱i,j相交 且i,j在同一组合 则不合法#include#include#include#include#include#include#define SF scanf#define PF printfusing namespace std;typedef long long LL;const int MAXN = 200;原创 2015-03-23 22:19:58 · 842 阅读 · 0 评论 -
[BZOJ2819] Nim && dfs序 + 树状数组 + LCA
用dfs的顺序对节点编号 这样每一棵子树的编号形成一个连续的区间 然后记录他们的NIM和 每次询问的时候x到根节点与y到根节点的部分会被异或两次而抵消 但是要注意LCA的位置也被抵消了 所以要再异或回来#include#include#include#include#include#define SF scanf #define PF printf#define lowbit(原创 2015-04-02 15:28:39 · 469 阅读 · 0 评论 -
[BZOJ 1588]营业额统计 && splay部分模版
#include #includeusing namespace std; #define MAXN 100010 #define INF 99999999bool f;struct Node { int key, sz, cnt; Node *ch[2], *fa; Node(){} Node(int x, int y, int z) {原创 2014-11-27 22:43:18 · 402 阅读 · 0 评论 -
[POJ1117] Picture && 线段树+扫描线
把边排序 从左往右进行扫描计算周长 注意排序时左边的边要排在右边的边的前面#include#include#include#include#define SF scanf#define PF printf#define ls (i*2)#define rs (i*2+1)using namespace std;const int MAXN = 5000;struct Lin原创 2015-02-07 15:32:13 · 528 阅读 · 0 评论 -
[HDU]5726
询问好搞 线段树即可 问题在于如何统计区间个数 需要注意到以i开头的区间每次gcd发生变化gcd的值都至少除以二(最小因子为2) 所以最多变化logn次 只需快速找到这logn个变化点即可快速计算每个gcd值对应的区间个数并用map保存查找过程可以利用选段树 不断查找由i开始使当前gcd值小于目标值的位置 对于每一个i至多logn次 线段树操作复杂度logn 总复杂度nlogn^2#i原创 2016-07-19 21:09:02 · 917 阅读 · 1 评论