自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 模型(套路)总结

1:序列部分<1>:一个序列,有些位置确定,有些位置不确定。你要钦定未知位置的数,使得LIS最大。(bzoj5427)solution:考虑普通的LIS,维护f[i]表示长度为i的LIS的最小值。直接维护dp数组,如果位置固定,直接转移。否则考虑任意一个位置都可以补充。f[i] = min(f[i], f[i - 1] + 1); 维护一个delta代表移动了多少位就行。<...

2019-09-14 16:22:37 219

原创 易错警示

1:位运算的优先级是真的不行。甚至比大于号,小于号,等于号还要低。所以用到位运算,别管程序美不美,直接小括号括起来!!!!2:long long 类型 和 int 类型比较大小会出锅的。建议转到同一类型比较。3:对于模数非常大的情况下,快速幂有可能会爆炸long long。(p^2 >1e18)。这里就需要用到O(1)快速乘typedef long long LL;typedef l...

2019-09-14 16:22:25 284

原创 一些常用的常数优化

常数,决定了复杂度一样的算法得到分数的高低。一个101010倍常数?不得了!常用的常数优化:1:快读基础版:inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9') {if (ch == '-')f = -1; ch = getchar...

2019-09-14 16:21:58 755

原创 莫比乌斯反演与狄利克雷卷积

积性函数对于gcd(a,b)=1,都有f(ab)=f(a)∗f(b)。那么f(n)是积性函数对于gcd(a,b)=1, 都有 f(ab)=f(a)*f(b)。那么f(n)是积性函数对于gcd(a,b)=1,都有f(ab)=f(a)∗f(b)。那么f(n)是积性函数欧拉函数ϕ(n)\phi(n)ϕ(n)是一个积性函数,对于一个素数ppp。有:ϕ(p)=p−1\phi(p)=p-1ϕ(p)=p−...

2019-09-14 16:21:42 360

原创 STL大法好

sort数组从1开始的整型排序:inline bool cmp(const int a, const int b) { return xx[a] < xx[b];}sort(a + 1, a + 1 + n, cmp);结构体排序:(结构体是poi)inline bool cmp(const poi &a, const poi &b) { if (a.x =...

2019-04-14 12:03:17 263

原创 主席树复习笔记

小总结:(静态全局第k小排个序就没了)(单点修改+全局第k小平衡树就没了 或者离散化+权值线段树(详见暗黑破坏神))(静态区间第k小一般的主席树或者分块,分块比主席树慢)(区间修改+区间第K小。主席树+线段树套树状数组 或者 分块块内二分)luogup3834静态区间第k小对于每个前缀建立权值线段树。每增加一个节点,只会修改一条链。采用引用的形式自上而下修改。...

2019-04-14 12:02:52 99

原创 线段树合并复习笔记

线段树合并和主席树不同的是。主席树的节点还要依赖之前的树结构。而线段树合并是若干个分离的线段树合并起来,在创建节点的时候有些不同。bzoj2212按照dfs的顺序处理。显然一个子树内的交换只会影响该子树,所以可以贪心得对于每个子树决定是否交换。算到叶子节点的时候新建一颗logloglog个节点的权值线段树。合并左右儿子的时候,实际上是合并左右孩子的两颗线段树。不交换的话就是前面的大权值区间的个...

2019-04-14 12:02:39 99

原创 容斥原理学习笔记

简单来说,容斥原理的核心就是减去不合法的。这个时候可能会多减,再把它加回来。一个经典的应用是,你有若干个限制,彼此独立。你要求满足这些限制条件下的答案。采用容斥原理是这样一个思路,先算出没有限制条件下的答案。再算出至少打破一个限制的答案。(就是我们强制要求一个限制满足,剩下的就不管他,因为我们是至少)。把答案减去,我们又发现我们多减了那些同时打破两个限制的情况。在反过来加上至少打破两个限制的...

2019-04-14 12:02:21 560

原创 杜教筛学习笔记

刀尖舞蹈如果数据很容易爆long&amp;amp;nbsp;longlong\ longlong&amp;amp;nbsp;long的话,你有几种处理方式:1:在爆炸的边缘试探正确写法:ans=(ULL)n∗(n+1LL)/2LL;ans = (ULL) n * (n + 1LL) / 2LL;ans=(ULL)n∗(n+1LL)/2LL;错误写法:ans=(ULL)n∗(n+1)/2;ans = (ULL) n * (...

2019-04-14 12:02:00 144

原创 Splay与LCT学习笔记

Splay1:rotate1:rotate1:rotate操作无论是左边旋到右边还是右边旋到左边,节点的相对高度都上升了。2:2:2:单旋splaysplaysplay可能会被卡掉,一条链单旋过后还是一条链。3:3:3:双旋分一下几种情况:(x−&amp;amp;amp;gt;to)(x-&amp;amp;amp;gt;to)(x−&amp;amp;gt;to)tototo是xxx的fatherfatherfather,此时直接把x...

2019-04-14 12:01:37 261

原创 基于fhq-treap的区间问题

ezoj1852要求写一个序列数据结构,支持区间加,区间翻转,区间最大值。线段树结构能否支持区间翻转?线段树节点记录一个ls,rsls,rsls,rs,打翻转标记。每次下传就交换左右孩子。fhq-treap以下标为关键字分裂,treaptreaptreap中下标序列是始终不变的。理解成在下标序列上面挂的值在不停的变动。具体写法就是splitsplitsplit改成基于sizsiz...

2019-04-14 12:01:10 621

原创 点分治复习笔记

之前的记录:点分治可以处理一些普通的 tree dp 或者是树剖无法处理的树上路径问题。简单说就是在一棵树上做分治,考虑对于一个固定根的树,路径只有可能经过根节点,或者完全在它的子树中。后者可以分治递归下去解决。为了保证递归层数是logn 的。我们每次选子树树的重心作为子树的新根。这样节点总数就减少了一半。我们一般都会考虑无限制的经过根节点的情况(不考虑有一个更深的LCA),减去它完全在它...

2019-04-14 12:00:51 118

原创 线性基学习笔记

粘链接:https://www.cnblogs.com/ljh2000-jump/p/5869991.html题:1:板子题,查询一些数的子集的xor和的最大值。meet-in-the-middle。插到trie里面。O(2n2∗w)O(2^{\frac{n}{2}}*w)O(22n​∗w)线性基板子 O(nlogn)O(nlogn)O(nlogn)2:查询一个数是否可以子集被xo...

2019-04-14 12:00:32 174

原创 CDQ分治学习笔记

三维偏序问题:每个元素有3个属性,a,b,c。求解对于每个iii,aj&amp;amp;amp;lt;ai且bj&amp;amp;amp;lt;bi且cj&amp;amp;amp;lt;cia_j&amp;amp;amp;lt;a_i且b_j&amp;amp;amp;lt;b_i且c_j&amp;amp;amp;lt;c_iaj​&amp;amp;lt;ai​且bj​&amp;amp;lt;bi​且cj​&amp;amp;lt;

2019-04-14 12:00:18 127

原创 线段树分治

(loj121)给你一张无向图,你要支持如下操作:1:删除一条边2:加入一条边3:查询某两个点对间是否联通①在线做法:LCT②离线做法:线段树分治口胡做法:把操作的顺序当做时间。每条边维护一个存活区间,代表这条边在这个时间区间里面活着。对时间轴建立一颗线段树,从线段树根开始dfs。进入一个子树就把它这个子树中完全存活的边的两个点用按秩合并并查集合并。一直到一个叶子的时候统计答...

2019-04-14 12:00:04 307

原创 SA复习笔记

(背的SASASA是从000到nnn的)几个数组的意义:sa[i]sa[i]sa[i]表示排名为iii的后缀的首字母位置。t[i]t[i]t[i]表示后缀首字母在iii这个位置的第一关键字的排名。t2[i]t2[i]t2[i]表示第二关键字排名为iii的后缀的首字母位置。height[i]height[i]height[i] 表示排名为iii和i−1i-1i−1的两个后缀的LCPLCPL...

2019-04-14 11:59:45 135

原创 虚树学习笔记

Tips:我们求得每个点的dfs序,然后把这些点按dfs序排序,那么他们所有的LCA肯定是排序后某相邻两点的LCA。

2019-04-14 11:59:11 107

原创 左偏树复习笔记

左偏树的形态是向左偏的,每个节点维护左右孩子,权值,父亲和它到最远叶子的距离。①:一开始所有点都是孤立的。②:合并两个节点所在的堆? 一开始要找到这两个堆的根节点。然后从根往下走。假设A的权值小于B(否则就交换AB),那么只要合并A的右子树和B,把合并后的结果作为A的右子树。 递归引用操作。如果右孩子的深度大于左孩子了,就交换左右孩子。③:删除一个节点所在的堆的最小值?直接走到根,输出来,再...

2019-04-14 11:58:49 86

原创 AC自动机复习笔记

AC自动机可以处理多模式串匹配问题。问:事先给定若干个模式串(短一点的),多次询问一个文本串被多少个模式串匹配。解:AC自动机的建立过程:①:把这若干个模式串插入到trietrietrie树里面。②:第二层点的failfailfail指针指向根rtrtrt。再把第二层的点放进队列。③:按照bfsbfsbfs的顺序。拿出队列头的节点xxx,把它存在的儿子的failfailfail指针...

2019-04-14 11:58:31 93

原创 2-SAT学习笔记

2-SAT问题指的是,给你若干个0-1变量。并给你一些限制,让你求满足这些限制的可行解(字典序最小的解)。限制的种类包括以下几种:1:a一定是12:a一定不是13:a,b至少有1个是14:a,b最多有一个是15:a,b一定相同6:a,b一定不同一般思路是对于一个变量,建立两个变量(正,反)代表假设选什么的情况。用有向边来表达推出关系。 如果一个正点可以直接或者间接地推出它的反点,且...

2019-04-14 11:58:15 129

原创 Martix-tree定理

Martix-Tree定理求解图的生成树个数构造度数矩阵和邻接矩阵(有向图的度数矩阵就是一个点的入度,无向图就是它相邻的点都算上)(如果(u,v)有一条边,邻接矩阵就加一。)基尔霍夫矩阵=度数矩阵-邻接矩阵无向图:基尔霍夫矩阵去掉最后一行最后一列后的行列式。有向图:基尔霍夫矩阵去掉根所在行列后的行列式。luoguP4455#include <bits/stdc++.h>...

2019-04-14 11:57:55 186

原创 CRT和扩展CRT学习笔记

CRT(中国剩余定理)(孙子定理)一般的CRT只能用于解决bbb彼此之间互质的情况。大概想法是构造M=∏i=1kbiM=\prod_{i=1}^kb_iM=∏i=1k​bi​,对于第iii个方程,构造一组特殊的解tititi满足Mbi∗ti=1(mod&nbsp;bi)\frac{M}{b_i}*t_i=1(mod\ b_i)bi​M​∗ti​=1(mod&nbsp;bi​)。最后答案就是∑i...

2019-04-14 11:57:26 341

原创 树上的操作solution

题面wzy实在是太强了,所以他百无聊赖之下决定出一道简单的问题。有一棵n个节点的树,以1号点为根,每个点可以有个权值,一开始每个点的权值都是0。你有m次操作,操作分为修改(modify) 和 查询 (query)。修改操作有3种,可以把一棵子树打回原形,升级和进化。形如 Modify1 x c 代表把以x为根的子树的权值变成x。 Modify2 x c 代表把以x为根的子树的权值统统加上c ...

2019-03-07 10:54:41 284

原创 小清新博弈题solution

小清新博弈题wzy是个lolita控。一天他遇到了一个难办的情况:他的两只lolita吵起来了!他的两只lolita的问题是这样的:有一个苹果森林,有n棵苹果树。森林里的每棵苹果树上都结有ai个苹果。lolita们非常喜欢吃苹果,所以她们为吃苹果制定了一个规则。两只lolita轮流吃苹果。在一个lolita的回合里,她可以从这n棵树任意选择几个苹果吃掉,注意每个树每次只能摘掉一个苹果(...

2019-03-07 10:50:31 113

原创 密码锁题解

前言:和网上的思路差不多。(或者说就是网上的思路)想法:50pts很容易想到用二进制来表示灯的状态。由于n&amp;amp;amp;amp;lt;=20n&amp;amp;amp;amp;lt;=20n&amp;amp;amp;lt;=20,所以2202^{20}220的状态完全可行。状压dpf[s]f[s]f[s]表示灯的状态为sss的时候用的最少步数,转移就枚举用的是哪种操作,适用到哪个区间。O(2nnm)O(2^nnm)O(2nnm) 勉强。

2019-02-26 22:41:48 2456

原创 Miller-Rabin学习笔记

为什么要学习Miller-Rabin ?之前一直认为素性测试可以使用费马小定理的逆命题,虽说会有一定的概率判错,多选几个就好了。我现在才知道存在一种Carmichael Number。对于任意与n互质的数x, 都有 xn−1=1(mod&amp;amp;amp;nbsp;n)x^{n-1}=1 (mod\ n)xn−1=1(mod&amp;amp;amp;nbsp;n),那么n称作Carmichael Number。可以发现,无论我们...

2019-02-14 21:59:35 782

空空如也

空空如也

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

TA关注的人

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