首先发现原来的理解好乱啊...这次换一种理解的方式吧... 设原串为一个长度为$n$的字符串$T$ 我们考虑这个字符串的每一个子串$S$,用一个集合$endpos_{S}$代表$S$在$T$中出现的所有右端点的集合 例:$T="aaabc"$,$S="aaab"$,则$endpos_{S}=${$4 Read More
posted @ 2019-07-03 18:39 lleozhang Views(85) Comments(0) Diggs(0) Edit
首先用splay维护嘛 然后查询的时候就把对应的节点转到根,左子树大小就是排名 然后再做个区间翻转即可 Read More
posted @ 2019-07-02 19:58 lleozhang Views(35) Comments(0) Diggs(0) Edit
splay裸题嘛... 直接按书的编号顺序建splay,然后维护即可 把移动位置变成插入和删除 Read More
posted @ 2019-07-02 13:10 lleozhang Views(42) Comments(0) Diggs(0) Edit
首先是动态dp了嘛... 然后考虑怎么做:首先列出dp方程,大概长这样: $f[i]=min(v[i],\sum f[to])$ 看着不太像动态dp呀... 考虑拿出重儿子的贡献,然后套模型,大概能构造出一个这样的东西: 设$g_{i}=\sum f_{to}[to!=son]$ $\begin{p Read More
posted @ 2019-07-02 08:40 lleozhang Views(66) Comments(0) Diggs(0) Edit
首先我们考虑事件发生的真正的先后顺序 我们考虑在某一个点$f$的子树内有两点$i$,$j$先后在$t_{i}$,$t_{j}$两个时间向上发送信息 那么两者谁会先传到$f$呢? 推个小式子:设$i$先到达$f$,那么一定要满足的条件是$dep_{i}-dep_{f}+t_{i}$<$dep_{j}- Read More
posted @ 2019-07-01 10:15 lleozhang Views(98) Comments(0) Diggs(1) Edit
首先有个思想,就是逐层更新 然后考虑每次查询是查从某一点到根节点的树链上的信息,因此用树链剖分维护即可,处理每个点的对子树中节点的贡献可以区间修改(只需修改这一节点向上的树链即可),然后查询时区间查询,去掉不合法的部分即可 时间复杂度$O(nlog_{2}^{2}n)$,其实本题正解应当是$O(nl Read More
posted @ 2019-06-28 11:17 lleozhang Views(74) Comments(0) Diggs(0) Edit
好神奇的数据结构呀... 首先我们考虑:暴力怎么做? 设状态$dp[j]$表示长度为$j$的序列最后一个数最小是几,如果$j$位置的限制区间为$[l,r]$,那么显然有转移: $dp[j]=l(dp[j-1]<l)$ $dp[j]=dp[j-1]+1(l\leq dp[j-1]\leq r-1)$ Read More
posted @ 2019-06-28 10:08 lleozhang Views(73) Comments(0) Diggs(0) Edit
去年noip题啊... 这题动态dp裸题,因此直接套上去嘛! 动态dp板子看这里 设状态$f[i][0/1]$表示点$i$选/不选的最小花费,转移有 $f[i][0]=\sum f[son][1]$ $f[i][1]=w_{i}+\sum min(f[son][0],f[son][1])$ 同样设一 Read More
posted @ 2019-06-26 20:37 lleozhang Views(49) Comments(0) Diggs(0) Edit
动态dp是一个毒瘤且奇葩的东西... 然而noip2018出了这个东西... 因此... 以一道题为例吧:给出一棵带点权的树,每次修改一个点的点权,查询这棵树的最大权独立集(可以理解为每次询问一遍“没有上司的舞会”) 首先考虑暴力: 设状态$f[i][0/1]$表示以$i$为根的子树,点$i$选或不 Read More
posted @ 2019-06-26 19:04 lleozhang Views(109) Comments(0) Diggs(0) Edit
嗯.. 首先考虑如果只有一次询问我们怎么做 设我们当前有个数集{$S$},进行这一询问,我们怎么处理? 首先不妨假设{$S$}单调不降(如果不是这样的话显然排序并不会影响答案) 那么假设前$i$个数都合法,其能组合出的最大的值为$lim$,那么我们只需比较$S_{i+1}$与$lim+1$的大小就可 Read More
posted @ 2019-06-26 11:14 lleozhang Views(59) Comments(0) Diggs(0) Edit
首先吐槽一下bzoj,这CF原题还做成权限题啊?! 需要注意的是,一个点不能被选中当且进当这个点在第y+1年到现在这一段时间内受到攻击,其余的点都可以被选 然后...其实这题的重点在于...码 思想很简单,先树链剖分,然后建起一棵主席树维护,每次修改就生成一个新版本,这样的话用现在的版本-时刻y的版 Read More
posted @ 2019-06-26 09:52 lleozhang Views(76) Comments(0) Diggs(0) Edit
首先考虑容斥 我们计算出所有没有点在其中的矩形,然后用所有矩形减去这些矩形即可 然后考虑如何计算没有点在其中的矩形 采用扫描线的思想,从上向下一行一行扫,假设我们扫到的行编号是$a$,然后考虑如果左右的列端点是$[l,r]$,那么这一行向上至多能扩展几个矩形呢? 显然,我们要找到区间$[l,r]$中 Read More
posted @ 2019-06-25 16:56 lleozhang Views(64) Comments(0) Diggs(0) Edit
前置技能:曼哈顿距离转切比雪夫距离 曼哈顿距离:已知两点$A(x_{1},y_{1})$,$B(x_{2},y_{2})$,则其曼哈顿距离为$|x_{2}-x_{1}|+|y_{2}-y_{1}|$ 切比雪夫距离:已知两点$A(x_{1},y_{1})$,$B(x_{2},y_{2})$,则其切比雪 Read More
posted @ 2019-06-25 14:13 lleozhang Views(96) Comments(0) Diggs(0) Edit
数据范围很重要!!! 首先观察数据范围,发现我们要修的桥的数量只能是一座或两座,因此我们直接讨论即可 对于在河的一侧的人家,显然花费是一定的,直接累计即可 对于在河两侧的人家,显然过河的花费是一定的,直接累计即可 接下来讨论的所有人都在桥的两侧 首先我们假设只有一座桥,位置为$x$,设对于第$i$个 Read More
posted @ 2019-06-25 10:33 lleozhang Views(56) Comments(0) Diggs(0) Edit
问题:已知一个次数为$n-1$的多项式$F(x)$,求一个多项式$G(x)$满足$G(x)\equiv F(x)^{k}$ 这个...你需要多项式exp 直接推一发式子就可以了: $G(x)\equiv F(x)^{k}$ $G(x)\equiv e^{lnF(x)^{k}}$ $G(x)\equi Read More
posted @ 2019-06-23 21:20 lleozhang Views(108) Comments(0) Diggs(0) Edit
生成函数好题 首先我们对每一种物品(设体积为$v_{i}$)构造生成函数$F(x)=\sum_{j=1}^{\infty}x^{jv_{i}}$ 那么很显然答案就是这一堆东西乘在一起 但是...这个复杂度是$O(nmlog_{2}m)$的,显然不合理 因此我们考虑优化 我们发现,如果我们把所有生成函 Read More
posted @ 2019-06-23 20:02 lleozhang Views(74) Comments(0) Diggs(0) Edit
这一篇是一个专题总结,可能会写很久,希望不会咕掉 一.组合数学: ①.基本公式: 1.排列数公式$A_{n}^{m}=\frac{n!}{(n-m)!}$,表示从$n$个元素中选出$m$个元素并进行全排列的方案数 特别的,当$m=n$时,有$A_{n}^{n}=n!$(规定$0!=1$) 2.组合数 Read More
posted @ 2019-06-22 09:58 lleozhang Views(283) Comments(0) Diggs(0) Edit
斯特林数好题: 求$\sum_{i=1}^{n}C_{n}^{i}i^{k}$ 首先第二类斯特林数有一个性质: $x^{n}=\sum_{i=0}^{n}S_{2}(n,i)C_{x}^{i}i!$ 那么我们展开原来的表达式,得到: $\sum_{i=1}^{n}C_{n}^{i}i^{k}$=$\ Read More
posted @ 2019-06-21 15:56 lleozhang Views(155) Comments(0) Diggs(0) Edit
容斥好题 首先我们考虑,如果没有节点之间一一对应的限制,我们可以这样$dp$: 设状态$dp[i][j]$表示以$i$为根节点的子树,节点$i$与节点$j$对应的方案数 那么转移就是$dp[i][j]=\prod_{son_{i}}\sum_{k=1}^{n}map[j][k]dp[son_{i}] Read More
posted @ 2019-06-20 20:06 lleozhang Views(53) Comments(0) Diggs(0) Edit
单位根反演好题 题意:求$\sum_{i=0}^{n}C_{n}^{i}S^{i}a_{ i mod 4 }$ 看到$i$ $mod$ $4$这种东西,很显然要分类讨论啦 于是变成了这种形式: $\sum_{d=0}^{3}a_{d}\sum_{i=0}^{n}[$ $i\equiv d$ $mod Read More
posted @ 2019-06-20 17:43 lleozhang Views(115) Comments(0) Diggs(0) Edit
基本形式: 设$f(x)=\sum_{i=0}^{n}a_{i}x^{i}$ 则有$\sum_{i=0}^{n}a_{i}[d|i]=\frac{1}{d}\sum_{p=0}^{d-1}f(w_{d}^{p})$ 在$FFT$中会用到的形式: $f_{i}=\sum_{j=0}^{n-1}\fra Read More
posted @ 2019-06-20 17:04 lleozhang Views(73) Comments(0) Diggs(0) Edit
玄学题... 首先,如果$f_{i}\equiv a$ $mod$ $10^{y}$,那么一定有$f_{i}\equiv a$ $mod$ $10^{y-1}$ 据此我们可以只找出满足$f_{i}\equiv a$ $mod$ $10^{y-1}$的项,然后向上检验即可 可是这样的项是无穷的啊 斐波 Read More
posted @ 2019-06-20 16:37 lleozhang Views(59) Comments(0) Diggs(0) Edit
三倍经验...(然而我并没有氪金所以只能刷一倍...) 考虑在什么情况下两点是合法的: 可以看到,对于红色的点而言,绿色的点是合法的,而黄色的点是不合法的 那么观察一下这几个点的切线把圆分成的这几个弧之间的关系,可以看到:如果两个弧相交但不包含,那么对应的两点合法(比如红色和绿色),剩余情况均不合法 Read More
posted @ 2019-06-20 16:32 lleozhang Views(86) Comments(0) Diggs(0) Edit
首先显然是并查集了 每次连边就是合并两个集合,最后会形成很多连通块,是个森林的结构 考虑在连边的时候加入一个权值表示这条边是第几次被加入图中的,那么每次查询的答案即为$x$到$y$路径上权值最大值 由于并查集按秩合并的复杂度是$O(log_{2}n)$,因此合并时直接按秩合并,查询时暴力向上跳即可 Read More
posted @ 2019-06-20 16:14 lleozhang Views(32) Comments(0) Diggs(0) Edit
二项式反演的公式: 若已知$f(n)=\sum_{i=0}^{n}(-1)^{i}C_{n}^{i}g_{i}$,则有:$g(n)=\sum_{i=0}^{n}(-1)^{i}C_{n}^{i}f(i)$ 一个更常见的公式: 已知$f(n)=\sum_{i=0}^{n}C_{n}^{i}g(i)$, Read More
posted @ 2019-06-19 20:32 lleozhang Views(81) Comments(0) Diggs(0) Edit
首先需要知道二项式反演的一个推论:$f(k)=\sum_{i=k}^{n}C_{i}^{k}g(i)$,则$g(k)=\sum_{i=k}^{n}(-1)^{i-k}C_{i}^{k}f(i)$ 然后我们考虑如果糖果多于药片的比药片多与糖果的多$k$个,那么糖果多于药片的个数应该为$\frac{n+ Read More
posted @ 2019-06-19 20:28 lleozhang Views(39) Comments(0) Diggs(0) Edit
留个位置 本题...一言难尽啊... 首先可以发现,恰好为$S$个的颜色数量为$M=min(\frac{n}{S},m)$ 首先我们设$g(i)$表示至少选了$i$种颜色达到恰好$S$个的方案数,那么$g(i)=C_{m}^{i}(m-i)^{n-iS}\frac{n!}{(S!)^{i}(n-iS Read More
posted @ 2019-06-19 18:25 lleozhang Views(60) Comments(0) Diggs(0) Edit
首先我们需要找出一个朴素的递推来解决这个问题: 设状态$f(i)$表示权值和为$i$的二叉树的数量,$g(i)$表示权值$i$是否在集合中,即$g(i)=[i\in S]$ 枚举根节点和左子树的权值,立刻得到一个递推: $f(n)=\sum_{i=0}^{n}g(i)\sum_{j=0}^{n-i} Read More
posted @ 2019-06-19 15:24 lleozhang Views(48) Comments(0) Diggs(0) Edit
这一版是mx发明的MTT 速度极快,精度基本有保证,在奇技淫巧无效时可以考虑这个东西... (但是无论如何我都不想用真正的任意模数NTT,那种东西简直毒瘤而且常常数巨大...) 原理:并不关心 Read More
posted @ 2019-06-19 13:50 lleozhang Views(82) Comments(0) Diggs(0) Edit
好毒瘤的一道题啊... 对每个$a_{i}\in S$,设$F(x)$为用$j$个$a_{i}$构造出$ja_{i}$的生成函数,那么$F(x)=\sum_{j=1}^{∞}x^{ja_{i}}$ 根据这篇博客里的内容,可以求得:$F(x)=\frac{1}{1-x^{a_{i}}}$ 设$t_{i Read More
posted @ 2019-06-18 17:31 lleozhang Views(58) Comments(0) Diggs(0) Edit
有两种推导方法: 第一种: 设状态$f(i)$表示有$i$个点的无向连通图个数,$g(i)$表示有$i$个点的无向图个数,那么显然$f(n)$即为我们所求,而$g(i)=2^{\frac{i(i-1)}{2}}$ 于是写出一个递推:枚举$1$号点所在的连通块,可得:$g(n)=\sum_{i=1}^ Read More
posted @ 2019-06-18 13:35 lleozhang Views(43) Comments(0) Diggs(0) Edit
问题:已知一个多项式$F(x)$次数为$n-1$,求一个多项式$G(x)$满足$G(x)\equiv e^{F(x)}$($mod$ $x^{n}$) 保证$F(x)$常数项为$0$ 好像有点困难... 首先有一个基础知识: 我们可以用牛顿迭代求出一个多项式的多项式零点 也即已知一个多项式$F(x) Read More
posted @ 2019-06-14 17:28 lleozhang Views(602) Comments(0) Diggs(0) Edit
题意:求$\sum_{i=0}^{n}\sum_{j=0}^{i}S(i,j)2^{j}j!$ 一看就觉得不可做... 但是还是需要仔细分析的 最重要的是一步转化: 根据第二类斯特林数的定义:$S(n,m)$表示将$n$个不同物品分到$m$个集合中的方案数 然后考虑求和式里面那个东西,发现其含义就是 Read More
posted @ 2019-06-13 18:57 lleozhang Views(37) Comments(0) Diggs(0) Edit
计数好题 首先看到这种问题直接想到的应该是polya定理 可是对颜色使用个数有限制啊! 没关系,我们分析一下polya定理的表达式: $\frac{1}{|G|}\sum_{i=1}^{n}m^{c_{i}}$ 可以看到,这其中的每一项等价于用$m$种颜色对每个循环节任意染色的方案数(即对每个循环节 Read More
posted @ 2019-06-12 18:05 lleozhang Views(52) Comments(0) Diggs(0) Edit
问题:已知一个次数为$n-1$的多项式$F(x)$,求一个多项式$G(x)$使得$G(x)\equiv ln(F(x))$($mod$ $x^{n}$) (保证$F(x)$常数项为1) 这个比较简单: 两边求导,得: $G^{'}(x)\equiv \frac{F^{'}(x)}{F(x)}$($m Read More
posted @ 2019-06-12 16:19 lleozhang Views(364) Comments(0) Diggs(0) Edit
问题:已知一个多项式$F(x)$次数为$n-1$,求一个多项式$G(x)$使得$(G(x))^{2}\equiv F(x)$($mod$ $x^{n}$) (保证常数项为$1$) 仍然是推式子 首先,不难发现的是如果$F(x)$次数为0,那么$G(x)=1$ 类似多项式求逆,我们倍增处理: 设已知$ Read More
posted @ 2019-06-12 16:14 lleozhang Views(280) Comments(0) Diggs(0) Edit
多项式求逆是多项式除法的基础,如果你不会多项式求逆,请看这里 问题:已知两个多项式$F(x)$(次数为n),$G(x)$(次数为m),求两个多项式$Q(x)$与$R(x)$,满足$F(x)=G(x)Q(x)+R(x)$,所有运算在模998244353意义下进行 推一发式子: $F(x)=G(x)Q( Read More
posted @ 2019-06-12 08:25 lleozhang Views(1121) Comments(0) Diggs(0) Edit
问题: 已知一个次数为$n-1$的多项式$F(x)$,求一个多项式$G(x)$使得$F(x)*G(x)\equiv 1$($mod x^{n}$),所有运算在模998244353意义下进行 怎么搞? 先进行一点分析: 如果$F(x)$只有一项,那么$G(x)$里也只有一项,就是$F(x)$里那项的逆 Read More
posted @ 2019-06-12 08:11 lleozhang Views(151) Comments(0) Diggs(0) Edit
生成函数在计算方案数以及计算递推公式时都有很大的作用,本文对生成函数的知识做一个初步的介绍(主要是博主自己不会) 一.基本定义: 给出序列{$a_{n}$}={$a_{0},a_{1},a_{2}...a_{n}$},构造一个函数(或者多项式)$F(x)=a_{0}+a_{1}x+a_{2}x^{2 Read More
posted @ 2019-06-11 20:49 lleozhang Views(268) Comments(0) Diggs(0) Edit
一道生成函数例题 如果对生成函数的知识不太了解,看这里 下面认为你已经了解了生成函数的内容 那么看见这种问题直接上生成函数嘛! 直接构造...10个生成函数 福利时间:这10个生成函数如下: $F(x)=1+x^{6}+x^{12}+...=\frac{1}{1-x^{6}}$ $F(x)=1+x+ Read More
posted @ 2019-06-11 20:47 lleozhang Views(47) Comments(0) Diggs(0) Edit
levels of contents