03 2022 档案

摘要:显然可以直接贪心,即每一次移动尽量少的距离,时间复杂度为$o(nm)$ 不难发现,以下两类攻击可以被删除: 1.连续两次攻击位置相同,则删除其中一次攻击 2.连续三次攻击位置形如$a<b<c$或$a>b>c$,则删除中间的攻击 此时,攻击位置即形如$a_{1}<a_{2}>a_{3}<a_{4}>. 阅读全文
posted @ 2022-03-26 14:43 PYWBKTDA 阅读(72) 评论(0) 推荐(0) 编辑
摘要:考虑将$2n$个位置离散(可以忽略同位置),问题即转换为以下模型 将$2n$个位置(等概率)配成$n$对,每一对左右分别打上$\pm 1$,任意前缀和$\le K$的概率 总方案数显然为${2n\choose n}\frac{n!}{2^{n}}$,下面考虑合法的方案数—— 记$x_{i}$为第$i 阅读全文
posted @ 2022-03-23 09:31 PYWBKTDA 阅读(191) 评论(0) 推荐(0) 编辑
摘要:记$A=\left(\begin{matrix}1&1&\\1&1&1\\&1&1&1\\&&\ddots&\ddots&\ddots\\&&&1&1&1\\&&&&1&1\\\end{matrix}\right)$,问题即求$ans=A^{R-1}_{x,y}$ 考虑其特征多项式,即$f_{C}( 阅读全文
posted @ 2022-03-22 11:00 PYWBKTDA 阅读(141) 评论(0) 推荐(0) 编辑
摘要:分析条件,不难发现仅有以下两类边: 1.若两区间严格相交(有公共段)且不相互包含,则两区间之间有双向边 2.若两区间相互包含,则小区间向大区间有单向边 对于第1类边,由于区间长度严格递增,可以通过线段树+并查集维护 具体的,1操作时在(线段树)区间$(l,r)$上加入该点,并与在$l$和$r$处已加 阅读全文
posted @ 2022-03-21 18:40 PYWBKTDA 阅读(81) 评论(0) 推荐(0) 编辑
摘要:将序列分块,对每一个块维护以下信息: 1.块内的最大值$\max$和区间减的懒标记 2.存在的权值(包含即可)以及对应元素的链表(首尾、长度) 对于散块修改/询问,可以利用2重构序列,即可$o(\sqrt{n})$修改/询问 对于整块修改,注意到最大值单调不降,因此在$o(\Delta \max)$ 阅读全文
posted @ 2022-03-19 13:20 PYWBKTDA 阅读(117) 评论(0) 推荐(0) 编辑
摘要:若原序列众数不唯一,显然答案即为$n$,不妨特判此类情况 结论:记$x$为原序列的众数,则$x$也为答案序列的众数 反证法,假设$x$不是答案序列的众数,则不断延长答案序列直至$x$是其众数 不难发现:这样的时刻必然存在,且此时众数不唯一,即与答案的最长性矛盾 进一步的,对答案序列的众数出现次数分类 阅读全文
posted @ 2022-03-12 10:32 PYWBKTDA 阅读(44) 评论(0) 推荐(0) 编辑
摘要:问题即求$\sum_{i=0}^{d}(out\cdot in)^{d}_{u,v}$,进而转换为$[u=v]+(out\cdot \sum_{i=0}^{d-1}(in\cdot out)^{i}\cdot in)_{u,v}$ 注意到$in\cdot out$是$k\times k$的,并使用类 阅读全文
posted @ 2022-03-11 20:25 PYWBKTDA 阅读(80) 评论(0) 推荐(0) 编辑
摘要:记$S=\{(i,j)\mid s_{i,j}=*\},T_{i,j}$表示获得$(i,j)$上礼物的时间,问题即求$E(\max_{(i,j)\in S}T_{i,j})$ 考虑$\min\max$容斥,即$\max_{(i,j)\in S}T_{i,j}=-\sum_{S'\subseteq S 阅读全文
posted @ 2022-03-11 19:12 PYWBKTDA 阅读(62) 评论(0) 推荐(0) 编辑
摘要:性质1:对$i$操作后,$a_{i}+a_{i+1}$的值不变 性质2:若初始$a_{i+1}-a_{i}\le b_{i}$,则最终$a_{i+1}-a_{i}=b_{i}$ 换言之,不断合并$a_{i+1}-a_{i}\le b_{i}$,对于合并后的每一段,根据总和和差值即可解出 在此基础上, 阅读全文
posted @ 2022-03-11 16:47 PYWBKTDA 阅读(48) 评论(0) 推荐(0) 编辑
摘要:说明 记$N=HW$,时间复杂度均用$N$描述 定义$o_{n}$表示(结束状态下)操作$n$次后状态不变的概率 定义$g_{n}$表示(初始状态下)操作$n$次恰成为结束状态的概率 定义$f_{n}$表示(初始状态下)操作$n$次后恰首次成为结束状态的概率 记$O(x),G(x)$和$F(x)$为 阅读全文
posted @ 2022-03-11 10:48 PYWBKTDA 阅读(84) 评论(0) 推荐(0) 编辑
摘要:考虑$u$对答案的贡献(指以$u$为第一次战争)—— 注意到$v$崛起时有贡献,当且仅当上一次崛起在$u$与$v$不同的儿子中(将$u$自身也看作一棵子树) 换言之,问题可以抽象为有$A_{i}$个$i$,将这$\sum_{i=1}^{k}A_{i}$个数任意排列后最大交替次数 记$x=\max_{ 阅读全文
posted @ 2022-03-03 21:20 PYWBKTDA 阅读(49) 评论(0) 推荐(0) 编辑
摘要:关于修改,通过segment tree beats不妨转换为"将区间内的最小值均加上$x\ge 0$" 关于询问,通常即维护最大前缀/后缀/子段和,但显然无法对其直接打上述操作的懒标记 维护一个阈值$x_{\min}$,表示当且仅当$x\ge x_{\min}$时其子树内会发生某个信息的修改 关于$ 阅读全文
posted @ 2022-03-03 13:56 PYWBKTDA 阅读(51) 评论(0) 推荐(0) 编辑
摘要:为了方便,以下记$w=\log \max a_{i}$(本题中$w\le 128$) 建立线段树,对每一个点维护$w$个数,第$i$个数表示区间内(二进制下)第$i$位为1的数个数 将这$w$个数用写成二进制的形式,得到一个$w\times \log len$的01矩阵,转置后即变为$\log le 阅读全文
posted @ 2022-03-02 15:36 PYWBKTDA 阅读(54) 评论(0) 推荐(0) 编辑
摘要:维护一棵线段树,区间$[l,r]$上维护一个$C\times C$的矩阵,表示对应的最短路 考虑矩阵$A$和$B$合并,即$merge(A,B)_{i,j}=\min_{1\le k\le C}A_{i,k}+B_{k,j}$ 记$pos_{i,j}$为取到最小值的$k$,不难证明其具有单调性(对$ 阅读全文
posted @ 2022-03-01 15:41 PYWBKTDA 阅读(63) 评论(0) 推荐(0) 编辑