自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

已消失

不会再上线了

原创 LaTeX公式大全

在这里 quq被ghostcai安利了一发Typora

2018-10-09 20:27:49 5361 0

原创 Prufer序列+高精度--bzoj1005: [HNOI2008]明明的烦恼

传送门 话说这还是我第一道关于pruferpruferprufer序列的题。。。 长度n−2n-2n−2的pruferpruferprufer序列可以唯一表示一棵nnn个节点的树,而且每个节点在序列中出现次数都是d[i]−1d[i]-1d[i]−1 所以如果给定每个点的d[i]d[i]d[i],所...

2019-01-21 12:09:49 83 0

原创 【模板】可持久化并查集

突然想起来大家都会的可持久化并查集我还不会,所以来学一下qwqqwqqwq 感觉可持久化并查集就是把主席树上的点的存储信息改了一下。。 其他也没什么不同的,查询一个点的父亲的时候是log2nlog^2nlog2n的,修改啥的都是lognlognlogn,总复杂度是mlog2nmlog^2nmlog...

2019-01-20 23:14:57 94 0

原创 单调队列优化dp--bzoj5185: [Usaco2018 Jan]Lifeguards

传送门 luoguluoguluogu上据说有一道这个题的弱化版,把删kkk个改成了删111个,那个大概线段树之类的随便做一下就好了 这道题可以先把包含的都去掉,所有线段就是相交或者不相交的了,然后考虑用dpdpdp解决,设f[i][j]f[i][j]f[i][j]表示到第iii个线段,iii必须...

2019-01-19 15:52:09 265 0

原创 后缀自动机--bzoj4032: [HEOI2015]最短不公共子串

传送门 一个题=四个题 T1 这就是对于两个串上的问题通常套路就是对一个建后缀自动机另一个在上面跑,所以对BBB建出后缀自动机然后枚举AAA的子串开头跑就行了,复杂度O(n2)O(n^2)O(n2) T2 有一个东西叫做序列自动机,但其实一点也不自动,也没有自动机该有的样子 对一个串从后往前记录每...

2019-01-19 11:21:18 87 0

原创 广义后缀自动机--bzoj3926: [Zjoi2015]诸神眷顾的幻想乡

因为叶子只有202020个,所以把每个叶子当作根然后把从根开始的所有子串都插入一个广义后缀自动机,这样就可以把所有串取到,每次插入的时候记录一下fafafa是哪个,从那个开始插就好了 这个要求不同子串个数要用∑i=1cntlen[i]−len[fai]\sum_{i=1}^{cnt}len[i]-...

2019-01-18 22:33:13 91 0

原创 虚树+树形DP--luoguP4426 [HNOI/AHOI2018]毒瘤

传送门 虚树毒瘤题 首先注意到mmm只比nnn大101010,所以可以随便找个生成树,把mmm多出来的边上的点都拎出来建一个虚树,可以枚举每条边的深度较浅的那个点选不选,在虚树上树形dpdpdp,然后发现虚树上父亲到儿子的系数是不变的,所以可以树形dpdpdp预处理出来 k[u][0/1][0/1...

2019-01-18 13:40:49 147 0

原创 min_25筛(学习笔记)

之前考试就学了一下min_25min\_25min_25筛,现在理解得更多一些,补一波笔记 先放题免得我忘了 LOJ#6053. 简单的函数 #include<iostream> #include<cstdio&am...

2019-01-17 21:48:18 895 0

原创 【模板】替罪羊树

本来是打开了一道点分治的题,后来发现要用高速平衡树 据说splaysplaysplay和fhq Treapfhq\ Treapfhq Treap都非常非常的慢 据说替罪羊树是除了红黑树以外最快的平衡树? 于是就来学习了一下 核心思想就是每...

2019-01-16 11:30:52 258 0

原创 set+LCA--luoguP3320 [SDOI2015]寻宝游戏

传送门 说是虚树…其实也没真正用到虚树 因为他最后要走回去,所以每条边都会经过两遍,选哪个点都无所谓,所以可以按照dfsdfsdfs序排序,加入一个新点的时候就把前驱后继的距离减掉再加上它到前驱和它到后继的距离,这个求一下lcalcalca就行,删掉点就是反过来。 一开始setsetset写的不太...

2019-01-15 14:37:55 182 0

原创 SAM+虚树--CF1073G Yet Another LCP Problem

传送门 这题调的我两眼发黑。。。 首先想SAMSAMSAM建出来就是反串的后缀树,那么把原串反转一下,求后缀的lcplcplcp就变成了求前缀的最长后缀,在SAMSAMSAM上就是两个代表节点lcalcalca的lenlenlen,用这些关键点和他们的lcalcalca建出虚树,然后在虚树上跑,设...

2019-01-14 22:28:04 139 0

原创 【模板】矩阵求逆

方法就是通常的那种方法,就是在原矩阵旁边放一个单位矩阵,对两个矩阵一起高斯消元,当原矩阵被消成单位矩阵时右边的单位矩阵就是它的逆,在高斯消元过程中如果不能继续下去就无解 步骤就是先找到当前要操作的行,然后给这一行进行变换,乘以1fi,i\frac{1}{f_{i,i}}fi,i​1​ 然后对其余行...

2019-01-14 08:59:27 464 0

原创 二项式反演--CF GYM 101933 K. King's Colors

传送门 二项式反演裸题 设fif_ifi​表示至多有iii种颜色的方案数,gig_igi​为恰好有iii种颜色的方案数 这个是跟树的形态无关的因为一个点只有一个父亲,所以fi=i×(i−1)n−1f_i=i\times(i-1)^{n-1}fi​=i×(i−1)n−1 再套用公式fk=∑i=0kC...

2019-01-14 08:28:23 195 0

原创 李超线段树(学习笔记)

最后一个。。。 李超线段树就是用来解决平面上放线段的一些问题 可以去看这个博客 我懒得写了 一个例题: bzoj3165: [Heoi2013]Segment 李超线段树裸题 代码如下: #include<iostream> #include<cstdio...

2019-01-12 19:10:33 329 4

原创 二项式反演(学习笔记)

qwqqwqqwq机房最后一个学二项式反演的人 众所周知 二项式反演可以表示成 fn=∑i=0n(−1)i×Cni×gi⟺gn=∑i=0n(−1)i×Cni×fif_n=\sum_{i=0}^n (-1)^i\times C_n^i\times g_i\Longleftrightarrow g...

2019-01-12 16:37:52 4151 0

原创 状压+FMT--luoguP4221 [WC2018]州区划分

传送门 暴力是3n3^n3n枚举子集,f[S]=∑S′∈Sf[S′]×(sumS−S′sumS)pf[S]=\sum_{S'\in S}f[S']\times (\frac{sum_{S-S'}}{sum_S})^pf[...

2019-01-11 21:51:20 133 0

原创 动态点分治(学习笔记)

机房最后一个学习动态点分治的人(也许不是 前置知识:点分治(雾 动态点分治也叫点分树,就是把点分治时候每个重心组成的树拿出来用于动态维护一些东西 建点分树的过程就是点分治过程,同时记下每层重心的父亲(也就是上一层重心),一般是提前建出点分树,然后每次修改和询问时暴力跳树,因为点分树的树高是l...

2019-01-11 11:44:54 78 0

原创 【模板】Pollard Rho

就是个板子··· 然而luoguluoguluogu上最后一个点太毒了949494分弃疗 复杂度是p\sqrt pp​的,ppp是nnn的某个最小因子,满足ppp与n/pn/pn/p互质 对于复杂度的优化可以用真正地快速乘,以及ctzctzctz二进制版gcdgcdgcd,还有在中间每次k&...

2019-01-02 22:01:42 65 0

原创 点分治+树状数组--牛客网字节跳动冬令营网络赛J Sortable Path on Tree

传送门 吕老板讲的点分治好题啊qwq (他还讲了一个故事:他们打比赛的时候看到这题,这不是点分治吗,于是跟猫老师说那你写一下吧于是猫锟没有写出来 足可见这题的毒了… 题目大意就是要求树上有对少点对使得他们的路径是有序的,有序的就是把前一段或者后一段切下来拼到另一边就变成了升序或者降序的 如果点分治...

2018-12-27 16:55:50 69 0

原创 后缀数组+调和级数--bzoj2119: 股市的预测

传送门 其实就是复杂度是调和级数… 首先差分一下就变成了找到形如abaabaaba的串的个数,暴力求的话就是n2lognn^2lognn2logn的,可以枚举aaa的长度,然后把串分成一段一段的,只计算每段的第一个点,从第一个点lll找到对应的r=l+len+mr=l+len+mr=l+len+m...

2018-12-27 12:00:46 131 0

原创 后缀数组+二分+莫队--luoguP2336 [SCOI2012]喵星球上的点名

(树状数组那么好写我为什么要写莫队 雾) 传送门 后缀数组就不说了···然后对于每一个询问也插入序列,他的答案是一个lcp≥lenlcp\ge lenlcp≥len区间,可以二分出来,然后就变成区间内问不同数字的个数,这就是裸莫队了··· 第二个问题的话可以一边莫队一边计算,记录每个数字上一次出现...

2018-12-27 00:01:58 91 0

原创 set+线段树合并分裂--bzoj4552: [Tjoi2016&Heoi2016]排序

传送门 机房最后一个学习线段树合并的人qwq 题目要求支持区间升序或降序排序,并且单点查询 思路是一开始对每一个点建一个权值线段树,然后排序的话就是把一段权值线段树都合并起来,这样就无所谓顺序了,然后具体操作用setsetset什么的维护一下线段树的左右端点就好了 重要的就是线段树合并和分裂了,合...

2018-12-24 20:57:32 119 0

原创 2018.12.22模拟赛

肥肠良心的一场模拟赛了··· T1 【题目描述】 Mirko想在一块土地上种草莓。 这块土地可以看作一个N行M列格子组成的矩形,这些格子中有些适合种植草莓,有些不适合。Mirko希望在矩形中找出一片满足种植要求的长方形区域,即区域中每个格子都适合种植。 这时Mirko突然想到一个问题。设格子(i,...

2018-12-23 22:47:15 82 0

原创 贪心+线性基--bzoj2460: [BeiJing2011]元素

传送门 突然发现自己忘了线性基怎么写了···于是复习一下 裸的线性基,要权值最大就按权值排序然后一个一个加。 线性基:axa_xax​的二进制第xxx位为1,构造方法就是从高位到低位扫描每个数ppp,如果xxx这一位是111,并且ax=0a_x=0ax​=0,那么让ax=pa_x=pax​=p,跳...

2018-12-23 09:03:36 100 0

原创 LCT(动态最小生成树)+kruscal--bzoj2594: [Wc2006]水管局长数据加强版

传送门 (好久不打lct板子都快忘了 lct维护边权的套路就是把边拆成点,这个点向两边的点分别连边,点权就是边权,原树上的点根据需要可以设点权为inf或者-inf 动态最小生成树离线删边变加边,就是在lctlctlct中记录mx[x]mx[x]mx[x]和id[x]id[x]id[x]表示子树点权...

2018-12-21 19:05:09 192 0

原创 后缀数组+单调栈--poj3415 Common Substrings

传送门 时隔多年(其实也就几天 )我终于把这道题A了 就是用普通的后缀数组结合单调栈,加了个>k>k>k的限制,和[HAOI2016]找相同字符思路差不多,但有一些细节比如h[i]h[i]h[i]是和上一名的lcplcplcp,所以有些判断...

2018-12-12 08:35:42 100 0

原创 FFT+生成函数--hdu5307 He is Flying

传送门 题意:给一个数列,若有一个数对(i,j)(i,j)(i,j)满足sum[i]−sum[j−1]==Ssum[i]-sum[j-1]==Ssum[i]−sum[j−1]==S,则得到i−(j−1)i-(j-1)i−(j−1)的收益,求SSS取000到sumnsum_nsumn​的每一个值时,...

2018-12-11 10:20:04 98 0

原创 后缀数组+单调栈+set--bzoj4453: cys就是要拿英魂!

传送门 好题!!! 介于是一道权限题所以我就粘题面吧··· Description pps又开始dota视频直播了!一群每天被pps虐的蒟蒻决定学习pps的操作技术,他们把pps在这局放的技能记录了下 来,每个技能用一个字符表示。经过研究,蒟蒻们发现字典序更大的连招威力更大。于是所有蒟蒻都想学习p...

2018-12-07 21:43:30 78 0

原创 (假的)后缀数组--bzoj4319: cerc2008 Suffix reconstruction

传送门 这其实是一道假的后缀数组233 考查的其实是对后缀数组的理解quq #include<iostream> #include<cstdio> #include<algorithm> #include&...

2018-12-07 21:29:45 60 0

原创 后缀数组+主席树--bzoj4556: [Tjoi2016&Heoi2016]字符串

传送门 可以先二分答案midmidmid,判断[a,b−mid+1][a,b-mid+1][a,b−mid+1]是否有lcp(rk[i],rk[c])≥midlcp(rk[i],rk[c])\ge midlcp(rk[i],rk[c])≥mid的iii,这个是一个区间,可以再用二分+ststst表...

2018-12-07 11:41:36 115 0

原创 后缀数组+二分--bzoj4698: Sdoi2008 Sandy的卡片

传送门 差分一下,去掉首项,然后二分一个长度看连续的一段大于这个长度的heightheightheight是否能包含所有nnn个序列 代码如下: #include<iostream> #include<cstdio> #include&...

2018-12-07 09:09:45 86 0

原创 组合数学+二次剩余--51Nod 1236 序列求和 V3

传送门 nnn忘记取模调了半个小时祭。 fibfibfib是有通项公式的,然后式子写出来就是这样: 设x=1+52,y=1−52,z=15x=\frac{1+\sqrt{5}}{2},y=\frac{1-\sqrt{5}}{2},z=\frac{1}{\sqrt{5}}x=21+5​​,y=21−...

2018-12-06 18:39:44 201 0

原创 组合数学--51Nod 1149 Pi的递推式

传送门 F(i)F(i)F(i)可以理解成从数轴上位置iii出发每次向左走111或PiPiPi个单位,使最终位置刚好小于444的方案数,枚举走了多少个111,判断一下最后剩下的如果≥3\ge3≥3就可以走111,否则只能走PiPiPi #include<iostream&gt...

2018-12-06 16:32:52 72 0

原创 组合数学--51Nod 1627 瞬间移动

传送门 隔板法裸题 枚举走了几步,然后隔板法,不允许空 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring...

2018-12-06 15:41:56 90 0

原创 组合数学--51Nod 1556 计算

传送门 组合数学好题! 首先考虑题目要求,在一个数xxx后面填的数可以是x,x−1,x+1x,x-1,x+1x,x−1,x+1,把数列看做网格图,把+1+1+1看做右上走一步,−1-1−1右下,000往右,问题变成了从(0,0)−>(n−1,m)(0,0)-&...

2018-12-06 15:15:01 104 0

原创 二次剩余(学习笔记)

就是用来求解x2≡n mod px^2\equiv n \bmod px2≡nmodp的一个方法 对ppp进行分类讨论: p=2p=2p=2 ,则x=nx=nx=n ppp为奇素数 ...

2018-12-06 10:59:08 1333 0

原创 生成函数+组合数学--bzoj3028: 食物

传送门 可以把这些限制都列成生成函数: 1+x2+x4+...=11−x21+x^2+x^4+...=\frac{1}{1-x^2}1+x2+x4+...=1−x21​ 1+x1+x1+x 1+x+x2=1−x31−x1+x+x^2=\frac{1-x^3}{1-x}1+x+x2=1−x1−x3​...

2018-12-06 09:46:15 130 0

原创 后缀数组+平衡树--luoguP4070 [SDOI2016]生成魔咒

传送门 首先有一个结论: 一个串中本质不同的子串个数为n×(n+1)2−∑i=1nheight[i]\frac{n\times(n+1)}{2}-\sum_{i=1}^nheight[i]2n×(n+1)​−∑i=1n​height[i] 因为正着考虑的话每次要加很多个后缀,不好维护,所以可以把序...

2018-12-05 22:19:28 57 0

原创 组合数学+中国剩余定理--51Nod 1362搬箱子

传送门 题目说只能往三个方向走,往右,往下和右下,那么就可以找他们之间的关系,假如往下走了aaa步,右下走了bbb步,右走了ccc步,就有: a+b=na+b=na+b=n b+c=mb+c=mb+c=m 于是就可以套路地枚举往下走了几步 但题中只需要到最后一行就好了,所以还需要枚举到了哪一列 就...

2018-12-05 15:28:36 70 0

原创 多项式求逆/指数生成函数/分治FFT--bzoj3456: 城市规划

首先是多项式求逆(好像也是普遍做法? 先来推一推柿子qwqqwqqwq 设f[i]f[i]f[i]为iii个点的方案数,若不考虑不合法情况,f[i]=2Ci2f[i]=2^{C_i^2}f[i]=2Ci2​ 若考虑不合法情况,就是有不连通的情况,因为所有点的本质都是一样的,所以我们只需要规定...

2018-12-05 11:18:27 204 0

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