自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 wqs二分的一些细节

wqs二分的一些细节 wqs二分的本质 一个答案函数f[x]。f[x](即函数值)是有特殊限制的下求出的答案,特殊限制即变量x。f是一个凸函数(凸包),如果我们可以构造一个函数g[x]使它没有特殊限制,并且可以轻易计算(一般通过对限制的选择加权,来构造函数g)。并且g和f有关于x的一次函数关系(类似于f[x]=g[x]+k*x),我们就可以二分 ...

2022-03-29 19:35:45 603

原创 ac自动机

ac自动机 前置知识: trie树trie树trie树 KMPKMPKMP 作用: 查询一个字符串,在一堆字符串中的匹配情况。 利用fail树fail树fail树还可以解决一个字符串的前缀,在其他字符串中的出现情况。 还有一堆神奇作用。 结构: 分为两个部分:fail树fail树fail树和ac自动机ac自动机ac自动机 ac自动机ac自动机ac自动机部分: 本质是一个trie树trie树trie树,里面包含所有字符串,即每个点都是这些字符串中的一个前缀。 trie树trie树trie树上有f

2022-03-10 19:24:27 102

原创 SAM 后缀自动机

SAM 后缀自动机 数据结构 作用 查询一个字符串本质不同字串个数 查询字符串中两个前缀的最长公共后缀(lca) 还有很多神奇用处 结构 分为两个部分:SAM 和 parent树 SAM部分: 本质是一个DAG,任意一条路径都是一个子串,不同的路径是不同的子串。 parent树部分: 是一个树,每一个点是一个endpos集合(也有可能是被拆出来的endpos集合)。 子孙节点的endpos集合是祖先节点的endpos集合的子集。 同理的祖先节点的等价类(字符串集合)是子孙节点的等价类后缀。

2022-03-09 22:10:21 206

原创 带权并查集

带权并查集 分为按秩合并,和非按秩合并两种。 注意: 运算法则只有异或一种合法 作用: 查询两个点是否在同一个集合中,以及查询他们之间的距离。 大体思路: fafafa为 压缩后的父亲 ,fefefe为他到未压缩父亲的边 ,disdisdis为他到压缩后父亲的距离。 将两个点AAA,BBB合并,边权为lenlenlen。 找到AAA的根fafafa,BBB的根fbfbfb,使f[fa]=fbf[fa]=fbf[fa]=fb。fe[fa]=dis[a]fe[fa]=dis[a]fe[fa]=dis[a]

2022-03-07 17:48:23 204

原创 扩展域并查集

扩展域并查集 思想: 创造对立并查集(像2-sat) 例题:关押罪犯 整体思路: 对一个点额外建一个并查集,一个表示己方,一个表示敌方。 若A,B两个点矛盾,则A己方连向B敌方,vice versa. 快速查询两个点的关系。 ...

2022-03-07 15:13:42 110

原创 基础动态DP

动态dp 例题: 小白逛公园 (最大连续字段和) 最大权独立集 整体思路: 对于每次决策将它整合成为一个矩阵。 通过数据结构维护一段(特定)矩阵的乘积,这样就支持了修改。 本质上是对有用状态的保存。 ...

2022-02-23 18:06:32 97

原创 NOIP 游记

NOIP 游记 总而言之 炸了 考前 前一天好好复习了DP(?)(?)(?),数学(?)(?)(?),字符串 和 不挂分的小技巧。 当天 考试带足了巧克力,但是并没有什么用。 A 101010分钟想到筛法,O(nloglogn)O(nloglogn)O(nloglogn)以为不能过,用202020分钟想了一下分块打表 和 线性筛法。打出代码后才发现1s1s1s稳过。最后一个sample1.1s1.1s1.1s 抛上常数优化,剪枝。 预计100pts100pts100pts。 B PART 1: 606060

2021-11-22 21:10:55 263

原创 CSP 2021 游记

CSP 2021 游记 CSP-J part1 前一天对着考纲好好复习了,但好像复习的都没考…\dots… 进考场之前看到了之前半退役(?的神犇(messx),叙旧。 part2 进考场之后前30分钟都很紧张,手都在抖(可能是因为键盘太烂)。 A题太简单了,但是害怕有坑,花10分钟写了batbatbat。 B题心态炸了,调试了半个小时,(卡心态)本来是O(n2)O(n^2)O(n2)暴力…\dots… C题模拟也不难,40分钟搞定。 D题链表,没调出来,只有暴力40分。最后发现C题FST,GREAT!(预计

2021-10-25 20:45:11 120

原创 NOIP 模拟赛 C

NOIP 模拟赛 C 题 —— ARC124E - Pass to Next 题面: 有 n 个人站成一个圈,每个人有 ai 个球,下面要进行一次操作: 每个人把一些它的球交给它左边的人,所有人同时进行。 完了过后每个人有 bi 个球,记这个序列为 B。 对于每种 B,它的价值为 ∏bi。 对于所有可能的 B,你要计算它们的价值和,对 10^9 + 7 取模。 n,q≤2∗109,1≤ai≤109,1≤t≤n,1≤l≤r≤n。n , q ≤ 2*10^9, 1 ≤ ai ≤10^9 ,1 ≤ t ≤ n,

2021-10-12 16:55:07 161

原创 线段树分治

线段树分治 主要思想 通过线段树的结构,对时间进行分治,从而在O(nlog2n)O(nlog_2n)O(nlog2​n)的时间中维护出每一次询问的状态。是一种离线算法,如果不带修改,一般也可以用CDQ分治替换。 算法结构 代码模板 #include<bits/stdc++.h> using namespace std; struct node{ int x , y , st , ed; }; const int N = 100005 , M = 200005 , T = 100005 ;

2021-08-24 19:42:17 745

原创 关于数位DP

解释: 对数字进行逐位讨论,一步一步讨论到更广泛,约束更小的情况,有(大多数)DP的性质,一般使用记忆化搜索的形式实现。 需要注意: 和一般的DP一样,状态设计是最重要的: 1.注意状态不重复; 2.状态要全面; 3.状态没有后效性。 代码模板: ...

2021-08-21 17:02:34 93

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除