自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【模板】后缀数组SA

参考题目:UOJ35解析:这次贴的代码有点多,除了最裸的暴力,基本上能够想到的其他各种复杂度能够过和不能过的我都去写了一遍。但是解析可能要不知道什么时候更了。。。之后会把后缀数组所有用途和性质都更新过来的。代码:哈希二分+快速排序(复杂度O(nlog⁡2n)O(n\log^2n)O(nlog2n)):#include&lt...

2018-11-30 20:59:00 202

转载 【模板】快速傅里叶变换FFT

参考题目:LOJ108多项式乘法解析:zxyoi什么时候有心情什么时候更新板子题解析。。。代码:#include<bits/stdc++.h>#define ll long long#define re register#define gc getchar#define pc putchar#define ...

2018-11-23 17:03:00 143

转载 【NOIP自闭记】2018被虐记

现在刚刚考完半期,zxyoi真的只想说一句话:OI使我快乐。。。正经的游记开始:DAY0DAY0DAY0:早上来先是划水水了一道矩阵快速幂优化DP。。。然后中午听DZYO讲卡常学习了一下,主要是学习卡空间常数。同时复习了一下各种背包问题,奶了一口今年考背包和状压。当时状态感觉只要不是太难的状压(比如套什么我不知道的鬼畜优化)都可以...

2018-11-22 23:50:00 171

转载 2018.11.19【NOIP2018】【洛谷P5024】保卫王国(LCT)

传送门解析:真的令人窒息今年这道题。。。思路:首先我们要先会O(nm)O(nm)O(nm)的DPDPDP做法。考虑每个位置DP出选与不选在的最小代价。显然随手就转移了。然后限制就是把所有限制不能取的方案的代价设置成INFINFINF,然后就可以DP乱搞了。然后我们发现每次修改的只有点到rootrootroot的路径上的决策...

2018-11-19 20:51:00 144

转载 2018.11.18【LOJ120】持久化序列(可持久化非旋Treap)

传送门解析:(这句话仅针对指针)事实证明,在需要全局初始化的情况下,静态数组没有动态分配内存快。所以要么动态内存,要么静态内存动态初始化。可持久化平衡树裸题,没什么好说的,我写的是非旋treap。非旋treap的分裂关键字用大小考虑就行了。不过听说这道题卡输入输出,建议加一个优化。代码:#include<bits/s...

2018-11-18 22:07:00 132

转载 2018.11.17【NOIP练习】zxyoi的项链(数学推理)(线性筛)(欧拉函数)(链表)(Polya原理)...

传送门解析:zxyoi完成oi生涯中的第一次出题。思路:首先肯定是要推结论的。令询问为nnn,mmm时的答案为N(n,m)N(n,m)N(n,m)首先断环成链,同一条项链考虑mmm种断开的方式,那么得到的链的数量就有mN(n,m)mN(n,m)mN(n,m)。每个位置任意填得到的答案为nmn^mnm,其中必然有重复。考虑序列...

2018-11-17 12:45:00 281

转载 2018.11.09【BZOJ1706】relays 奶牛接力跑(矩阵快速幂优化DP)

传送门解析:首先如果我们已经求出一个矩阵AiA_iAi​表示走iii步两点之间的最短路,只要我们知道A1A_1A1​,我们可以知道Ai+1A_{i+1}Ai+1​ Ai+1,u,v=min⁡k{Ai,u,k+A1,k,v}A_{i+1,u,v}=\min_k\{A_{i,u,k}+A_{1,k,v}\}Ai+1,u,v​=kmin​{...

2018-11-09 15:46:00 76

转载 2018.11.09【CodeVS5429】多重背包(单调队列优化多重背包)

传送门解析:发现似乎没有想象的难,而且比二进制拆分好写的多啊思路考虑一般的不加任何优化的背包问题状态转移方程:f[k]=max(f[k],max{f[k−wi]+vi})f[k]=max(f[k],max\{f[k-w_i]+v_i\})f[k]=max(f[k],max{f[k−wi​]+vi​})在有多个相同物品的时候考虑...

2018-11-09 14:42:00 64

转载 2018.11.09【NOIP2016】【洛谷P1600】天天爱跑步(树上差分)

传送门解析:据说这是NOIP历年最难一道题。。但是真的没有宝藏难啊我觉得。。。思路:答案分两类统计,一种是子树中过来,一种是其他地方过来。那么路径就被拆分成两部分了,一部分是S−&gt;lcaS-&gt;lcaS−>lca,一部分是lca−&gt;Tlca-&gt;Tlca−>T,两部分...

2018-11-09 13:56:00 115

转载 2018.11.09【HEOI2014】【BZOJ3631】【洛谷P4105】南园满地堆轻絮(逆序对)(规律题)...

BZOJ传送门洛谷传送门解析:这个一说结论都会做,而且应该看了结论都知道怎么证明,蒟蒻就不BB了。结论就是差值最大的逆序对的差值的一半向上取整就是答案。代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define re r...

2018-11-09 13:39:00 104

转载 2018.11.09【NOIP2006】【洛谷P1064】金明的预算方案(有依赖的背包问题)

传送门解析:首先我并没有读完题。。我也没有管什么只有两个依赖,,我直接写的最裸的单层依赖的背包问题。。。(其实依赖下面套分组还比这个要恶心)。思路:由于我们直接枚举所有策略,对于一个物品集合是O(2∣S∣)O(2^{|S|})O(2∣S∣)的,所以我们可以先在集合内部做一次010101背包,注意,为了减小最终的物品个数,可以使用恰...

2018-11-09 09:14:00 119

转载 2018.11.09【UVA11021】Tribles(概率DP)(不用全概率公式)

传送门强烈谴责:对于懂全概率公式的人来说这是一道水题。然而就是这群懂全概率公式的人写着一篇篇题解与代码不符的博客。连递推数组fff的下标含义都描述的完全错误,不是思路不同的问题,因为我照着与他们完全互斥的思路推出了与他们完全相同的公式,而照着他们的思路。。。麻烦懂了全概率之后再来写题解行吗。更不用说什么"直接根据全概率公式可知"。...

2018-11-09 08:20:00 80

转载 2018.11.08【CodeForces990】F. Flow Control(树形DP)

传送门解析:首先无解的情况当且仅当权值和不为0。不然由于图是联通的,一定存在解,而实际上我们并不需要图的性质,我们只需要树的性质就可以做树形DP了。我们直接计算它子树内部会有多少权值需要转移,然后沿这条边转移就行了。代码:#include<bits/stdc++.h>using namespace std;#...

2018-11-08 18:31:00 97

转载 2018.11.08【CodeForces989】E. A Trance of Nightfall(矩阵快速幂)(倍增)

传送门解析:考场上本来想写倍增来着结果发现这个东西可以矩阵快速幂转移,所以倍增数组就用来优化矩阵快速幂了。。。(省去每次求出转移矩阵的一个O(n)O(n)O(n),过会看完优化的第二种就行了)如果只有一次询问,我们只需要求出每个点在跑了mmm次后以及每条线在跑了mmm次后到达目标点的距离。这个显然只需要把每个点走m−1m-1m−1次...

2018-11-08 15:20:00 116

转载 【随笔】博弈中的模仿策略

模仿真的是博弈里面的一个非常重要的策略,主要思想是,断对手后路,并且对局任何时候都能够重复对手的行为。这样的话,当对手还有做法,自己必然有对应的方法,先被逼入绝境的一定是对手。1.模仿棋比如吴清源先生年轻时候与木谷实的对局中下过一次模仿棋,开局一手天元,然后前半局都是模仿,可惜最后吴清源先生受日本围棋界的舆论压力放弃了模仿棋,当时棋力不...

2018-11-08 00:00:00 244

转载 2018.11.07【POJ1740】A New Stone Game(阶梯博弈)(模仿策略)

传送门解析:首先,题目没有说胜利判定方式啊,我去讨论区看到胜利方式是拿走最后一颗石子。这个博弈的主要策略是模仿。每一方只需要保证对方有办法可动的时候自己也有办法可动就行了。所以先手必败的局面就是,有偶数堆石头,并且每种大小的堆存在偶数个,因为只有这个时候,后手才始终能够模仿先手的做法。如果有奇数堆石头,先手直接操作总数最大的一...

2018-11-07 23:50:00 58

转载 2018.11.07【NOIP2017】【洛谷P3953】逛公园(DP)(魔改最短路计数)

传送门解析:首先这鬼畜的最短路肯定你是要自己跑一遍的。但是我是在反图上面跑。。因为我的DP策略表示在当前点uuu剩余冤枉路可以走restrestrest走到终点的方案数,所以我需要的是每个点到终点的最短路,起点…不重要。然后就直接这样子记忆化搜索一下就行了。代码:#include<bits/stdc++.h>...

2018-11-07 23:16:00 80

转载 2018.11.07【NOIP训练】lzy的游戏(01背包)

传送门解析:一个月前口胡了一下这道题,然后现在才在OJ上找到。。。其实最困扰的是后效性的处理,我第一次口胡的时候总是觉得这个后效性环形怎么处理都不太对,要么不对要么复杂度会爆炸,但是其实我们只需要知道一件事情,就是我们选择的卡牌不超过总的张数,我们就总有办法构造出一组解来,这个请感性理解一下。代码:#include<bi...

2018-11-07 21:41:00 73

转载 2018.11.07【CQOI2011】【BZOJ3295】【洛谷P3157】动态逆序对(树状数组套动态开点线段树)...

BZOJ传送门洛谷传送门解析:首先我们可以通过一个线段树求出逆序对个数,然后就是乱搞的时间了。显然每次删除一个数,需要我们查询前面比他大的数的个数和后面比他小的数的个数,这个就是裸的树套树了。这道题可以用树状数组套线段树动态开点。代码:#include<bits/stdc++.h>using namespace...

2018-11-07 21:13:00 110

转载 2018.11.07【校内模拟】异或(数位DP)(数学期望)

传送门解析:蒟蒻考场上只想了随机情况下的期望,于是就拿了部分分滚粗了。。。其实最优情况下的期望我好像还推错了,最后学习了标解才会的。我好菜啊。。。希望今年NOIP不要打酱油就行了。思路:首先随机的情况其实非常好想。我们只需要考虑每个位出现111的概率就行了,其实就是统计每个位出现111的方案数就行了,这个随便乱搞一下都行,我是...

2018-11-07 19:14:00 144

转载 2018.11.07【洛谷P2123】皇后游戏(贪心)(结论)

传送门BB:蒟蒻太菜了,就不写解析了,放一个看的比较懂的大佬的博客吧代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define re register#define gc getchar#define pc putcha...

2018-11-07 19:05:00 66

转载 2018.11.07【校内模拟】数独(模拟)

传送门解析:直接模拟,随手写了一个压位的二进制优化数独,并没有什么用,好处只有搜索才能体现出来吧。。。代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define re register#define gc getchar...

2018-11-07 18:59:00 114

转载 2018.11.06【HNOI2010】【洛谷P3209】【BZOJ1997】平面图判定Planar(二分图染色)(结论题)...

BZOJ传送门洛谷传送门解析:首先记住一个结论:对于任意平面图都有∣E∣≤3∣V∣−6|E|\leq3|V|-6∣E∣≤3∣V∣−6证明一下:只考虑极大平面图(即点数一定时,边数达到最大的平面图)。其他的情况边数都小于同顶点数的极大平面图。首先,极大平面图的每个平面由3条边围成,不然总是能够在这个形状中继续连一条对角线加边。令...

2018-11-06 18:41:00 81

转载 2018.11.06【LOJ147】DFS序4(DFS序)(树状数组)

传送门解析:其实用DFSDFSDFS序可以将很多树剖能做的东西的复杂度优化一个log⁡\loglog,不过需要一点小小的转化,因为DFSDFSDFS序只能处理子树问题。显然这道题直接用树剖做是O(nlog⁡2n)O(n\log^2n)O(nlog2n)的,但是用纯粹的DFSDFSDFS序+树状数组可以做到O(nlog⁡n)O(n\l...

2018-11-06 18:14:00 329

转载 【模板】2—SAT问题

参考题目:洛谷P4782解析:联赛完后统一更模板题题解。代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define re register#define gc getchar#define pc putchar#def...

2018-11-06 11:17:00 102

转载 2018.11.06【NOIP2015】【洛谷P2668】斗地主(DP预处理)(搜索)

传送门解析:其实不考虑点数大小的话只有张数对我们是有用的。所以可以预处理出有iii张单牌,j∗2j*2j∗2张对子,k∗3k*3k∗3张三条,zzz个炸弹,lll个王的情况下打完散牌要的最少次数,顺子通过贪心搜索一下就行了。代码:#include<bits/stdc++.h>using namespace std;...

2018-11-06 10:44:00 108

转载 2018.11.06【NOIP2014】【洛谷P1941】飞扬的小鸟(背包问题)

传送门解析:知道是背包后应该比较好像,但是这道题最难的应该就是看出这是一道背包问题。。。思路;考虑用f[i][j]f[i][j]f[i][j],表示让小鸟达到位置(i,j)(i,j)(i,j)需要的最小点击次数,INFINFINF表示无法到达。然后初始化十分显然f[0][j]=0f[0][j]=0f[0][j]=0。接下来就是...

2018-11-06 09:01:00 47

转载 2018.11.06【SCOI2005】【BZOJ1087】【洛谷P1896】互不侵犯(状压DP)

BZOJ传送门洛谷传送门解析:范围只有9,显然是状压DP。考虑处理出每个可能的状态来减小常数。然后枚举行,枚举当前行状态,枚举前一行状态,更新即可。注意要预处理第一行的情况。代码:#include<bits/stdc++.h>using namespace std;#define ll long long...

2018-11-06 08:26:00 96

转载 2018.11.05【NOIP2015】【洛谷2680】【UOJ#150】运输计划(二分答案+DFS序+树上差分)或(复杂度并不对(也不能过)的树链剖分)...

洛谷传送门UOJ传送门解析:UOJ上的数据很强,复杂度不对过不了的,但是LCALCALCA如果是用倍增求的话也过不了(已经加了上界优化)。。。毕竟树剖常数小,复杂度还不满。。。思路:首先,不要试图化边为点,每条边的信息可以存在它所指向的儿子中。解法1:UOJ上不能过的树链剖分其实我们只需要考虑断掉哪些边就行了,显然断掉最长路...

2018-11-05 21:46:00 97

转载 2018.11.05【校内模拟】相交(DFS序)(树状数组)(用来对拍的树链剖分)

传送门解析:首先怎么判断树上两个路径相交,其中一条路径的LCALCALCA必然在另外一条路径上。所以问题变成了,新增一条路径,询问有多少其他路径的LCALCALCA在它上面,询问它的LCALCALCA在多少其他路径上面。注意处理LCALCALCA重合的情况。这个显然的做法就是维护两个线段树,然后树链剖分维护路径加,单点求值和单点加...

2018-11-05 15:55:00 66

转载 2018.11.05【校内模拟】列队(BFS)

传送门解析:存边为正向正权,反向负权然后BFS看是否出现矛盾就行了。不然答案中所求的最小值就是所有联通快中左右差值最大的。代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define re register#define ...

2018-11-05 14:51:00 50

转载 2018.11.05【校内模拟】规避(最短路计数)(容斥)(正难则反)

传送门解析:首先直接统计并不好做,考虑反着做,先求出总共的方案数,然后减去相遇的方案数。总方案数就是SSS到TTT的最短路数量的平方(两人分别作选择)。首先这是个计数类问题,先做一个最短路计数。令distSudistS_udistSu​表示SSS到uuu的最短路长度,cntSucntS_ucntSu​表示SSS到uuu的最短路数...

2018-11-05 14:40:00 76

转载 2018.11.05【校内模拟】树(长链剖分)(复杂度多一个log(过不了)的点分治)...

传送门解析:OJ又双叒叕卡栈空间。。。思路:首先看到距离不超过kkk很容易想到点分治。每次处理出子树中所有点到分治中心的距离,然后处理一个二进制前缀和,双指针扫一遍数列,就可以愉快的做完这道题?点分治复杂度O(nlognlog∣A∣)O(nlognlog|A|)O(nlognlog∣A∣),卡在2e82e82e8的极限,本来递...

2018-11-05 08:24:00 132

转载 2018.11.02【NOIP2014】【洛谷P2312】解方程(乱搞)(哈希)

传送门解析:真的是一道纯粹的乱搞题。首先,高次方程式没有求根公式的,所以我们唯一的方法就剩下了暴力枚举。高达1e10001e10001e1000的系数和只有1e61e61e6的取值范围让我明白了这道题的乱搞本质。计算直接用秦九韶公式来搞一波。随便取几个稍微大一点的质数哈希(我选的是10000以下最大的四个质数)。选太小会被卡,...

2018-11-02 21:20:00 98

转载 2018.11.01【NOIP2016】【洛谷P2831】愤怒的小鸟(状压DP)

传送门解析:数据范围181818,多么显然的状压。。。但是!!!为什么O(n22n)O(n^22^n)O(n22n)能过???复杂度明显不对啊。。。这里提供一种O(n2n)O(n2^n)O(n2n)的做法(博主也是看了别人的题解学习的这种做法)思路:首先枚举所有合法的线(即枚举两只猪),预处理这条线能够穿过的猪。然后直接大力...

2018-11-02 20:25:00 98

转载 2018.11.02【HNOI2008】【BZOJ1010】【洛谷P3195】玩具装箱(斜率优化DP)

BZOJ传送门洛谷传送门解析:看到平方项多半就是两种套路,决策单调性和斜率优化,这道题斜率优化可以O(n)O(n)O(n)。首先还是推DP式子,这个很好想(sumsumsum表示前缀和)。fi=min⁡j=1i−1{(i−j+sumi−sumj−L−1)2+fj}f_i=\min_{j=1}^{i-1}\{(i-j+sum_i-s...

2018-11-02 20:12:00 58

转载 2018.11.02【校内模拟】距离(斜率优化DP)

传送门解析:优秀的斜率优化DP。首先DP式子不是很好想,再加上本蒟蒻很久没写斜率优化,这道题就场上直接咕咕咕了。。。思路:不要想一次四个方向处理完(不然下场和我一样,无法处理后效性),我们可以处理四次,分别处理左上右下右上左下,最后所有答案取一个minminmin就可以了。那么考虑怎么处理左上方向,其他的显然可以通过对称转变一...

2018-11-02 18:42:00 63

转载 2018.11.02【校内模拟】飞越行星带(最小生成树)

传送门解析:最小生成树的优秀做法。建图很妙啊,把所有点对之间建立距离为权值的边,然后所有点向顶部连权值为距离的边,向底部连权值为L−yL-yL−y的边,然后求一个最小生成树,将顶部和底部连在一起的边的权值就是答案。我解释一下为什么这样做是对的。考虑我们现在有一艘直径为当前枚举边的飞碟,我们禁止它通过这条边,如果它还可以飞到另一端...

2018-11-02 16:54:00 53

转载 2018.11.02【校内模拟】优美的序列(单调栈)

传送门解析:显然我们需要处理出所有数能够管辖的区间的范围。也就是处理出左右端点。整除?这个还是可以用单调栈维护的,先讲做法,再证明。维护栈中每个数在数列中的位置,遇到下个数先判断它是否是栈顶数的倍数,否则一直弹栈顶并判断,直到栈为空。这一轮中弹出去的数能够管辖的边界就在这个数的前一个位置。考虑最开始栈时空的,所以这个策略得到的栈...

2018-11-02 16:13:00 80

转载 2018.11.01【NOIP训练】梭哈(模拟)

传送门解析:本来可以一次ACACAC的。。。结果告诉我A作为顺子其实可以分别作最大值和最小值???思路:没什么技术含量的码农模拟题,练一下代码能力还行。首先对所有牌按照大小排序,这样方便比较,记住把花色取一下负数方便比较。判断牌型:然后先考虑两个顺子的情况,如果没有,就把A设置成最大牌来搞剩下的所有情况就行了。你可以手打模...

2018-11-01 23:18:00 229

空空如也

空空如也

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

TA关注的人

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