08 2021 档案

摘要:枚举携带的"A型守护精灵"数$A_{0}$,那么即只能经过$A_{i}\le A_{0}$的边,并最小化1到$n$路径上最大的$B_{i}$ 将所有边按照$A_{i}$从小到大排序,那么前者即不断加入边,后者通过LCT维护$B_{i}$的最小生成树即可 具体的,将每一条边拆成一个点,向对应的两端点连 阅读全文
posted @ 2021-08-31 15:35 PYWBKTDA 阅读(33) 评论(0) 推荐(0) 编辑
摘要:显然compare操作可以通过两次when操作实现,以下仅考虑前两种操作 为了方便,将优先级最高的节点作为根,显然根最后才会被删除 接下来,不断找到剩下的节点中(包括根)优先级最高的节点,将其到其所在树根的所有节点从下到上依次加入到序列的开头并删除,不难发现最终得到的序列即为燃烧的顺序 将每一次删除 阅读全文
posted @ 2021-08-30 22:27 PYWBKTDA 阅读(39) 评论(0) 推荐(0) 编辑
摘要:关于$f(x)$的条件,将$C=A\times B$代入,即$\sum_{i=1}^{n}\sum_{j=1}^{n}\sum_{k=1}^{r}A_{i,k}B_{k,j}=x$ 调换枚举顺序,即$\sum_{k=1}^{r}(\sum_{i=1}^{n}A_{i,k})(\sum_{j=1}^{ 阅读全文
posted @ 2021-08-30 12:17 PYWBKTDA 阅读(63) 评论(0) 推荐(0) 编辑
摘要:为了方便,对题意做以下处理: 1.称"西部主题"和"科幻主题"分别为黑色和白色 2.删去题中"保证没有两条不同的道路连接同一对景点"的条件 关于题中的条件,即保证图中总存在重边、一度点或二度点(或仅剩一个点) (具体证明参考2019年的论文,这里就省略了) 考虑对这些特殊的结构进行处理,具体如下—— 阅读全文
posted @ 2021-08-28 19:11 PYWBKTDA 阅读(83) 评论(0) 推荐(0) 编辑
摘要:参考[luogu7417],同样求出最短路,得到二元组$(x,y)$并排序,记$tot_{(x,y)}$为$(x,y)$的数量 其中所给的两个条件,即分别要求: 1.$(x,y)$只能和$(x\pm 1,y\pm 1)$连边 2.每一个$(x,y)$都向$(x-1,y\pm 1)$中的一个连边、$( 阅读全文
posted @ 2021-08-28 06:38 PYWBKTDA 阅读(73) 评论(0) 推荐(0) 编辑
摘要:考虑最后这棵二叉树的结构,不难发现被移动的点在原树或新树中构成的都是若干棵完整的子树 (若$x$被移动,则$x$在原树或新树的子树中所有点都会被移动) 先在原树中考虑此问题,对于每一棵由被移动的点所构成的极大的子树,将子树大小累加到这棵子树根的父亲的权值$a_{i}$上(初始为0),将深度和累加到答 阅读全文
posted @ 2021-08-27 14:05 PYWBKTDA 阅读(46) 评论(0) 推荐(0) 编辑
摘要:不难发现,问题即求满足以下条件的$(i,j)$对数: 1.$1\le i<j\le n$且$a_{i}=a_{j}$ 2.$\min_{i\le k\le j}y_{k}\ge l$且$\max_{i\le k\le j}y_{k}\le r$ 先考虑条件1,枚举$1\le x\le n$,并对满足 阅读全文
posted @ 2021-08-26 20:05 PYWBKTDA 阅读(99) 评论(0) 推荐(0) 编辑
摘要:(四边形不等式的套路题) 对于某一组$a_{i}$,显然可以区间dp,设$f_{l,r}$表示区间$[l,r]$​的答案,则转移即$$f_{l,r}=\begin{cases}0&(l=r)\\\sum_{i=l}^{r}\sum_{j=l}^{r}dist(a_{i},a_{j})+\min_{l 阅读全文
posted @ 2021-08-26 10:37 PYWBKTDA 阅读(99) 评论(0) 推荐(0) 编辑
摘要:建立ac自动机,令$S_{x}$为以根到$x$的路径所构成的字符串以及$L_{x}=|S_{x}|,W_{x}=\sum_{1\le i\le m,t_{i}为S_{x}的后缀}w_{i}$,那么不难得到有$W_{x}=\sum_{1\le i\le m,t_{i}=S_{x}}w_{i}+W_{f 阅读全文
posted @ 2021-08-25 16:26 PYWBKTDA 阅读(150) 评论(0) 推荐(0) 编辑
摘要:显然问题被分为两部分,先考虑如何求$F(n)$—— 令第一次所选的人编号为1,其之后所有人按顺时针依次编号为$2,3,...,n$,那么用一个序列来描述状态,其中第$i$个元素为当前存在的人中编号第$i$小的人手牌数(显然序列长度即为剩余人数) 初始序列显然为$\{1,1,...,1\}$(共$n$ 阅读全文
posted @ 2021-08-24 15:36 PYWBKTDA 阅读(49) 评论(0) 推荐(0) 编辑
摘要:简单分析,不难得到以下转移——$$f_{n}=\begin{cases}1&(n=1)\\B\sum_{i=1}^{n-1}f_{i}f_{n-i}&(n\le k)\\B\sum_{i=1}^{n-1}f_{i}f_{n-i}+(A-B)f_{k}f_{n-k}&(n>k)\end{cases}$ 阅读全文
posted @ 2021-08-23 16:31 PYWBKTDA 阅读(58) 评论(0) 推荐(0) 编辑
摘要:先将问题差分,即仅考虑上限$R$(和$L-1$) 注意到$f(x,y)$增长是较快的,对其分类讨论: 1.若$y\ge x+2$,此时满足$f(x,y)\le 10^{18}$的$(x,y)$只有约$10^{6}$组,暴力预处理并通过二分+前缀和即可 2.若$y=x+1$,显然$f(x,y)=x(x 阅读全文
posted @ 2021-08-23 14:40 PYWBKTDA 阅读(115) 评论(0) 推荐(0) 编辑
摘要:令$a_{i}$为$i$的度数-1,那么$(x,s)$合法即等价于存在$S\subseteq [1,n],|S|=x$且$\sum_{k\in S}a_{k}=s$ 引理:$(x,s)$合法的必要条件为$-z\le s-x\le z-2$ 令$z$为$a_{i}$中为0的元素个数,考虑任意一个集合$ 阅读全文
posted @ 2021-08-23 13:00 PYWBKTDA 阅读(115) 评论(0) 推荐(0) 编辑
摘要:考虑容斥,令$f(S)$为要求$\forall p\in S,p$可以作为起点的方案数,答案即$\sum_{S\subseteq[0,n)}(-1)^{|S|}f(S)$ 关于计算$f(S)$,对于第$i$个机器人而言,$p$可以作为起点实际上即给出了$X_{i}$和$Y_{i}$每一位上的一种限制 阅读全文
posted @ 2021-08-22 11:32 PYWBKTDA 阅读(66) 评论(0) 推荐(0) 编辑
摘要:为了方便,用$N=10^{5}$来描述复杂度 (对原串建立SAM)注意到$\sum|w|=qk\le N$,考虑对$q$和$k$的大小关系分类讨论: 1.若$q\le k$,即询问次数较少,将其与原串建立一个广义SAM,然后找到枚举所有区间,倍增找到该区间对应子串的位置,该right集合大小即为答案 阅读全文
posted @ 2021-08-21 09:42 PYWBKTDA 阅读(44) 评论(0) 推荐(0) 编辑
摘要:考虑将坐标轴旋转45°,即将$(x,y)$变成$(x+y,x-y)$,显然有$|x|+|y|=\max(|x+y|,|x-y|)$ 换言之,从新坐标系来看,问题即等价于——初始在$(0,0)$,每一次两维坐标(分别)随机$\pm 1$,求$n$次中到原点的切比雪夫距离(即$\max(|x|,|y|) 阅读全文
posted @ 2021-08-19 10:29 PYWBKTDA 阅读(327) 评论(0) 推荐(0) 编辑
摘要:显然每种颜色的花是独立的,可以分别求出答案后取$\max$ 对于某种颜色$C$,建立一张二分图,左右分别为$n$行$n$列,且第$i$行和第$j$列有边当且仅当$c_{i,j}=C$ 此时,问题即对边染色,并要求相同颜色的边没有公共端点,并最少化颜色数(包含初始颜色) 这是二分图的边着色问题,其答案 阅读全文
posted @ 2021-08-18 22:12 PYWBKTDA 阅读(85) 评论(0) 推荐(0) 编辑
摘要:不难发现,操作1可以看作如下操作:对于删去$a_{1},a_{2},...,a_{k}$后的每一个连通块(的点集)$V$,令$\forall x\in V,x$的收益加上$s$(其中$s=\sum_{x\in V}c_{x}$) 考虑建立类似于虚树的东西,即将每一个$a_{i}$连到第一个在$a_{ 阅读全文
posted @ 2021-08-18 14:44 PYWBKTDA 阅读(93) 评论(0) 推荐(0) 编辑
摘要:模板题:在有向图中,对每一个点求以其为根的最小(外向)生成树 (当图是强连通时)可以使用朱刘算法,算法过程如下: 1.对每一个节点,选择指向该点的边权最小的边,即得到一张子图 2.任选这张子图的一个简单环,并对这个环执行以下操作—— (1)对于环上的边$(u,v)$​,将所有以$v$​为终点的边边权 阅读全文
posted @ 2021-08-17 09:33 PYWBKTDA 阅读(66) 评论(0) 推荐(0) 编辑
摘要:称序列$\{a_{1},a_{2},...,a_{n}\}$​的答案为$\min_{0\le i\le n-k}(\max_{i<j\le i+k}a_{j})$​​(特别的,若$n<k$​则为$\infty$​)​​ 将序列按$k$分段,每一段长度为$k$(最后一段长度可以小于$k$),那么恰有$ 阅读全文
posted @ 2021-08-16 16:26 PYWBKTDA 阅读(95) 评论(0) 推荐(1) 编辑
摘要:将一个格子看作一个节点,相邻(有公共边)的同色格子之间连边,那么由前两个条件即要求图恰被分为两个非空连通块(由于$n,m\ge 3$,显然不能不使用某种颜色) 下面,来分析图中的简单环,其对应于网格图上即会将网格图分为了两部分,简单分类讨论不难发现只有这个环恰有最外圈所有节点构成时仍能满足第3个条件 阅读全文
posted @ 2021-08-16 11:02 PYWBKTDA 阅读(55) 评论(0) 推荐(0) 编辑
摘要:注意到仅关心于权值大小,预处理出$F_{i}(n)$​​​​表示$a_{1},a_{2},...,a_{n}$​​​​中恰填$i$​​​​​​种不同的数的方案数,那么显然答案即为$\sum_{i=1}^{\min(n,m)}{m\choose i}F_{i}(n)$​​​​,可以$o(n)$​​​​ 阅读全文
posted @ 2021-08-15 09:00 PYWBKTDA 阅读(191) 评论(0) 推荐(1) 编辑
摘要:令$(x,y,z)$为狙击手的坐标,其攻击范围即以$(x,y,z)$为中心的$(2k)^{3}$​的立方体 为了避免$k$的影响(二分答案会多一个$\log$),不妨将其变为以$(x,y,z)$为左下角的$(2k)^{3}$​​​的立方体,注意到这样仅仅是实现了平移,并不影响答案 由此,注意到任意时 阅读全文
posted @ 2021-08-13 16:01 PYWBKTDA 阅读(76) 评论(0) 推荐(0) 编辑
摘要:二分$T$​​​​​​​​和$S$​​​​​​​​第一个不同的位置,即需要对于$s$​​​​​​​​,判定是否存在$T[1,s]=S[1,s]$​​​​​​​​且满足条件的$T$​​​​ (注:这里的条件不包含$T$的字典序最小) 显然$T[1,s]$​​已经确定,记其中第$i$​​种字母出现次数为 阅读全文
posted @ 2021-08-13 07:39 PYWBKTDA 阅读(85) 评论(0) 推荐(0) 编辑
摘要:称区间$[i,j]$为普通区间,当且仅当$j-i\ge 3$​​​且其操作两次内不会变为给定区间 结论:若$[i,j]$为普通区间,则$[i,j]$和$[i+1,j-1]$​​​​​​​​​​的状态(是否先手必胜)相同 (关于这个结论的正确性,不难分类讨论得到) 由此,对于普通区间不断缩小使其变为非 阅读全文
posted @ 2021-08-11 15:20 PYWBKTDA 阅读(61) 评论(0) 推荐(0) 编辑
摘要:为了避免浮点运算,不妨将$f_{i}$​​​乘上$C=10^{2}$​​​,问题即求$\max_{S\subseteq [1,n]}\frac{\sum_{i\in S}(C^{2}-(\sum_{j\in S}f_{j}-f_{i})f_{i})s_{i}}{C^{2}}$​​​ 记$F=\sum 阅读全文
posted @ 2021-08-11 06:58 PYWBKTDA 阅读(59) 评论(0) 推荐(0) 编辑
摘要:约定:$[x^{n}]F(x)$​​​​​​表示多项式$F$​​​​​​的$n$​​​​​​次项系数 对于多项式$F$​​​​​​,定义$F$​​​​​的复合逆$\hat{F}$​​​​​为满足$F(\hat{F}(x))=x$​​​​​​的多项式 性质1:$F$​​​​​​​​存在复合逆的充要条件 阅读全文
posted @ 2021-08-10 11:03 PYWBKTDA 阅读(150) 评论(0) 推荐(0) 编辑
摘要:不妨假设$x\le y$,可以通过翻转整个格子序列来调整 令$a_{i}$​​为$i$​​到$y$​​的期望步数,显然有方程$a_{i}=\begin{cases}0&(i=y)\\\frac{\sum_{j=i+1}^{n}a_{j}}{n-i}+1&(i<y)\\\frac{\sum_{j=1} 阅读全文
posted @ 2021-08-09 20:02 PYWBKTDA 阅读(63) 评论(0) 推荐(0) 编辑
摘要:令$f(a)_{i}=\min_{i<j\le n,a_{i}=a_{j}}j$​​(特别的,若不存在$j$​​则令$f(a)_{i}=n+1$​​),则有以下性质: 1.对于$b_{i}$​​​​​​​,存在$a_{i}$​​​​​​​使得$f(a)=b$​​​​,当且仅当$i<b_{i}$​​​ 阅读全文
posted @ 2021-08-09 07:26 PYWBKTDA 阅读(43) 评论(0) 推荐(0) 编辑
摘要:类似于[NOI2021]轻重边的逆过程,操作1即为对$u$​执行access(根为1),$dist(u,v)$​即为$u$​到$v$​的虚边数 对前者用LCT维护,并记录轻重边的切换,显然切换总量为$o(n\log n)$ 换言之,问题即要支持: 1.修改一条边的边权(实边边权为0,虚边边权为1), 阅读全文
posted @ 2021-08-07 21:16 PYWBKTDA 阅读(106) 评论(0) 推荐(0) 编辑
摘要:(以下默认$A_{0},D_{0},P_{0},K_{0}$都为非负整数) 显然存活轮数$S=\lceil\frac{H_{0}}{C_{p}\max(A_{1}-D_{0},1)}\rceil$​​​是一个关键的变量,且根据数论分块其仅有$o(\sqrt{H_{0}})$​​​种取值,不妨利用数论 阅读全文
posted @ 2021-08-06 22:08 PYWBKTDA 阅读(83) 评论(0) 推荐(0) 编辑
摘要:先考虑$x=y$的情况,此时即是一个平等博弈,因此考虑$sg$函数 具体的,有$sg(n)=\begin{cases}0&(n=0)\\mex(\{sg(n-i)\mid 1\le i\le n,i\ne x\})&(n\ge 1)\end{cases}$,简单计算$sg(n)$的前几项,不难发现规 阅读全文
posted @ 2021-08-06 15:53 PYWBKTDA 阅读(93) 评论(0) 推荐(0) 编辑
摘要:枚举$a$​​​和$b$​​​​​出现的次数,问题即求$$A_{i,j}=\sum_{p=0}^{L}\sum_{q=0}^{L-p}[n\mid (p-i)][n\mid (q-j)]{L\choose p}{L-p\choose q}(k-2)^{L-(p+q)}$$考虑单位根反演,即$[n\m 阅读全文
posted @ 2021-08-05 20:14 PYWBKTDA 阅读(59) 评论(0) 推荐(0) 编辑
摘要:定义$x$为$s$的周期,当且仅当$\forall 1\le i\le |s|-x,s_{i}=s_{i+x}$​​(字符串下标从1开始) 令$per(s)$为$s$的正周期构成的集合,$\min per(s)$为$s$的最小正周期,显然$\max k=\lfloor\frac{n}{\min pe 阅读全文
posted @ 2021-08-04 13:52 PYWBKTDA 阅读(99) 评论(0) 推荐(0) 编辑
摘要:问题即查询将其按照dfs序排序后,相邻两点(包括首尾)的距离和 考虑使用莫队+set维护,时间复杂度为$o(n\sqrt{n}\log n)$,无法通过 进一步的,注意到删除是可以用链表实现的,因此考虑回滚莫队: 仍以$\sqrt{n}$​对原序列分块,并以左端点所在块升序为第一关键字、右端点降序为 阅读全文
posted @ 2021-08-04 09:43 PYWBKTDA 阅读(60) 评论(0) 推荐(0) 编辑
摘要:(这是一个线性的做法) 显然对于合法的区间,众数是唯一的,因此不妨枚举众数,将众数标记为1、其余数标记为-1,此时问题即求有多少个区间和大于0 考虑暴力的做法:从左到右枚举右端点,记当前前缀和为$tot$​​,即查询之前有多少个前缀和小于$tot$​​​ 具体的,记$f_{i}$​​​为(当前)有多 阅读全文
posted @ 2021-08-03 20:57 PYWBKTDA 阅读(137) 评论(0) 推荐(0) 编辑
摘要:令$f_{i}$​​表示以$i$​​为结尾的极长上升子序列个数,则有$f_{i}=\sum_{j<i,a_{j}<a_{i},\forall j<k<i,a_{k}\not\in [a_{j},a_{i}]}f_{j}$ (初始状态为前缀最小值处$f_{i}=1$,最终答案为后缀最大值处的$f_{i 阅读全文
posted @ 2021-08-03 17:46 PYWBKTDA 阅读(79) 评论(0) 推荐(0) 编辑
摘要:显然问题即求$\frac{\sum_{x\le l\le r\le y}(\max_{l\le i\le r}a_{i}+\min_{l\le i\le r}a_{i})}{(y-x+2)(y-x+1)}$ 分母显然是常数,分子中$\max$​和$\min$​是类似地,不妨仅考虑$\sum_{x\l 阅读全文
posted @ 2021-08-02 18:38 PYWBKTDA 阅读(76) 评论(0) 推荐(0) 编辑
摘要:构造一个01矩阵,其中格子$(i,j)$​​​​​对应于第$ik+j$​​个​​​的位置(其中$0\le i<\lceil\frac{n}{k}\rceil,0\le j<k$​​​,位置从0开始编号)​​,那么问题即有以下限制: 1.$(\lceil\frac{n}{k}\rceil-1,j)$( 阅读全文
posted @ 2021-08-02 15:02 PYWBKTDA 阅读(163) 评论(0) 推荐(0) 编辑
摘要:显然可以费用流来做,具体建图如下—— 点集:源点,汇点,左边$n$​个工人,右边$n$​​​个设备 边集:源点向第$i$​个工人连$(1,a_{i})$​的边,第$i$​个设备向汇点连$(1,b_{i})$​​​的边,工人向可用的设备连$(1,0)$​的边 跑最小费用最大流,流量为$i$时的费用即为 阅读全文
posted @ 2021-08-01 22:29 PYWBKTDA 阅读(143) 评论(0) 推荐(0) 编辑
摘要:注意到一个人的三条链一定不会同时选(忽略仅选一个终点的限制),因为其有公共点(起点) 换言之,问题相当于给定$3m$条链,选择$m$条没有公共点的链,并最小化代价和 进一步的,显然也不存在多于$m$条且没有公共点的链,因此"选择$m$条链"也可以理解为选尽量多的链(若选不到$m$条链即为-1)的同时 阅读全文
posted @ 2021-08-01 16:59 PYWBKTDA 阅读(77) 评论(0) 推荐(0) 编辑
摘要:将询问拆成$x$​到$lca$​和$lca$​($lca$​靠近$y$​的儿子)到$y$​​两部分,分别处理(后者以前者的答案为基础) 两者是类似地,不妨仅考虑前者:用树剖将该询问拆成dfs序上若干个区间,考虑从后往前遍历dfs序(显然即从下到上),若当前位置被覆盖则执行该节点的操作 进一步的,考虑 阅读全文
posted @ 2021-08-01 11:23 PYWBKTDA 阅读(67) 评论(0) 推荐(0) 编辑