随笔分类 -  学习笔记类

摘要:一、概念 有一些题要求我们统计某些点对的数量,限制一般和点间的路径有关,\(O(n^2)\) 的时间复杂度无法承受。我们考虑首先选定一个根,此时路径分为两类: 经过根 不经过根 其中不经过根的可以在删掉根后在每个子树中进行统计,递归求解。于是只用处理经过根的情况。那么可以将这条路径拆成从一个点到根和 阅读全文
posted @ 2025-02-23 14:41 zhangxy__hp 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一、前言 在今年 NOIP 前学习了 FHQ-Treap(一种平衡树),现在来记一记。 二、定义 Treap=tree+heap。具体的说,Treap 所维护的值满足二叉搜索树的性质,另一个变量优先级满足堆的性质。优先级一般使一个随机数,这使得树的高度保持在 \(O(\log n)\) 水平,二叉搜 阅读全文
posted @ 2025-02-21 17:53 zhangxy__hp 阅读(7) 评论(0) 推荐(0) 编辑
摘要:一.前言 早就学了扫描线了,但是有一道题当时没做,现在才做,于是就来写写学习笔记。 哎我学习笔记前面咋老是这么多废话啊 二.定义 扫描线其实是一种思想,就是遍历某个值并将其加入数据结构,同时动态地解决一些问题。 听起来很抽象,那就看例题吧。 三.例题 [poj1151]亚特兰蒂斯 求矩形面积并。想象 阅读全文
posted @ 2025-02-06 21:43 zhangxy__hp 阅读(9) 评论(0) 推荐(0) 编辑
摘要:前言 本来早就该学笛卡尔树了,但暑假打模拟赛就一直没学成。于是就打算先不学了,结果又发现后面有个笛卡尔树专题,只好来学学。 定义 笛卡尔树是一棵二叉树,每个点有一个键和一个值,键满足堆的性质,值满足二叉搜索树的性质。没错当键随机时,这就是个 Treap。 建树 如果值单调递增,那么就可以线性建树。具 阅读全文
posted @ 2025-01-05 22:00 zhangxy__hp 阅读(22) 评论(0) 推荐(0) 编辑
摘要:高维前缀和(SOSDP)解决这样的问题: 给定 \(f_i\),其中 \(i\in[0,2^n-1]\),求解 \(\sum\limits_{j\subseteq i}f_j\)。 考虑一维前缀和: for(int i=1;i<=n;i++){ sum[i]=sum[i-1]+a[i]; } 二维前 阅读全文
posted @ 2024-12-22 22:02 zhangxy__hp 阅读(28) 评论(0) 推荐(1) 编辑
摘要:AC自动机是以trie结构为基础,结合KMP算法思想构建的,用于解决多模式串匹配问题。 它的构建方式分为以下几步: \(1.\) 建立trie树 \(2.\) 构建失配(fail)指针 其中 fail 指针指向的是当前节点的状态的后缀所对应的状态。 这里明确一下,trie树中的每个节点表示的是一个状 阅读全文
posted @ 2024-12-08 15:30 zhangxy__hp 阅读(42) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
深色
回顶
展开