摘要: 对于叶子$x$,注意到$x$向下的射线仅是用于划分区域,其权值$d_{x}$可以直接记在$w_{x}$上(取$\min$) 定义$w'_{x}$为$x$向上的边(特别的,$x=1$时即1向上的射线)两侧的区域在对偶图中的最短路,考虑如何求—— 称某区域在$x$的子树内当且仅当其相邻的两个叶子均在$x 阅读全文
posted @ 2022-01-20 14:00 PYWBKTDA 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 记$l_{x}$为经过$x$的守卫路径长度,若不存在此类守卫则定义$l_{x}=1$ 注意到若能在时刻$t$到达$x$,显然也能在时刻$t+l_{x}$到达$x$(顺着守卫的方向走),因此定义$d_{x,s}$为最早到达$x$​且$\equiv s(mod\ l_{x})$的时刻,即具备单调性,进而 阅读全文
posted @ 2022-01-19 07:50 PYWBKTDA 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 为了方便,定义0区间初始左端点所在的编号为0,其余位置顺时针依次为$[1,nm)$ 考虑对0区间顺时针旋转,记$s_{i}$为0区间左端点旋转到$i$时的答案(约定$s_{i+n}=s_{i}$) 性质1:若$s_{i}-s_{i-1}=1$且$s_{i+1}-s_{i}\ne 1$(其中$0\le 阅读全文
posted @ 2022-01-15 11:52 PYWBKTDA 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 考虑所有极长的0,对其长度分类讨论—— 1.若其长度为$2m+1$,总是将首/尾与相邻的非0元素配对,其余元素配成$m$对 同时,若首尾中某一个元素对应的$k$已经出现,那么必然与另一个配对 2.若其长度为$2m$,总是配成$m$对或将首/尾均与相邻的非0元素配对,其余元素配成$m-1$对 同时,若 阅读全文
posted @ 2022-01-14 15:21 PYWBKTDA 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 下面将直接叙述本题的做法—— 维护序列$\{T_{i}\}$,初始$T_{i}$为(强制所有人均按时间倒序做题时)第一个解决前$i$道题的时间 从后往前考虑每一个人,对第$i$个人按如下方式确定其解决题目的顺序: 1.显然前$i$道题和后$n-i$道题内均倒序做题,因此仅需要确定前$i$道题(的分布 阅读全文
posted @ 2022-01-13 13:57 PYWBKTDA 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 用二元组$A_{i}=(cycle_{i},precycle_{i})$来描述点$i$,则确定$A_{i}$后有解当且仅当: 设$cnt_{(l,h)}$为$A_{i}=(l,h)$的点数量,则$\forall l\ge 1,l\mid cnt_{(l,0)}$且$0\le j\le h,cnt_{ 阅读全文
posted @ 2022-01-08 22:17 PYWBKTDA 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 考虑维护所有活动操作所构成的单调栈(后缀级别最小值),对操作$a_{i}$分类讨论: 1.若$a_{i}>0$,显然即将单调栈清空并将$i$加入单调栈 2.若$a_{i}<0$,在单调栈中找到$i$撤销的操作$a_{j}$,则有以下结论—— 结论:此时$j$之前的操作(不包括$j$)状态与$j-1$ 阅读全文
posted @ 2022-01-04 08:47 PYWBKTDA 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 记$Y$为在最后一次两者票数相同前投票的ESPer数量除以$K$,不难得到答案即$1-\frac{E(Y)}{2}$,问题也即求$E(Y)$ 为了方便叙述,称$S$为一种方案$,P_{S}$和$Y_{S}$分别为$S$的发生概率和$Y$,显然$E(Y)=\sum_{S}P_{S}Y_{S}$ 对于一 阅读全文
posted @ 2021-12-30 11:01 PYWBKTDA 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 结论:若有$k$个洞,至多只有$k+1$种不同的最终状态 考虑相邻两次操作,注意到除非两者(对应的洞在该时刻)相邻且方向正好相对,否则交换不影响最终状态 这种情况下,不妨将其中后操作的洞方向翻转(这也不影响),进而也即可交换 通过上述方式将操作按洞从左到右排序,那么一个洞向左会覆盖(左侧)所有段、向 阅读全文
posted @ 2021-12-29 10:43 PYWBKTDA 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 假设已经确定顺序(且不妨假设$a_{i}<b_{i}$),考虑如何判定是否合法—— 显然$a_{i}$不能为峰且峰不能相邻,因此峰数的上限是$n-1$ 结论:合法当且仅当存在$k\in [0,n]$使得$\forall 1\le i<k,a_{i+1}<b_{i}$且$\forall k+2\le 阅读全文
posted @ 2021-12-24 15:52 PYWBKTDA 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 记两堆(从顶开始)依次为$a_{i}$和$b_{i}$(其中$i\in [1,n]$),考虑如何求最小得分: 注意到无法操作即其中一堆为空,得分即删除的数个数,而$2n$永远不会被删除 不妨假设$2n$在$b_{i}$中,最小得分也即删除$a_{i}$中所有数至少要删除$b_{i}$中几个数$+n$ 阅读全文
posted @ 2021-12-19 15:44 PYWBKTDA 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 问题即是要对一个栈支持:1.加入一个元素;2.删除最早加入的元素(各有$m$次) 做法1(题解中的算法2) 将栈中的元素标记为01,并按如下方式维护: 1.对于加入操作,直接将其加入并标记为1 2.对于删除操作,对其分类讨论—— (1)若栈顶标记为0,直接弹出即可 (2)若栈顶标记为1,不断弹出栈顶 阅读全文
posted @ 2021-12-19 13:11 PYWBKTDA 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 显然两维是独立的,不妨考虑其中一维的答案 将其离散,枚举交包含的某一段(若不存在即交为空),进而即可确定所有段的方向,用线段树维护取到最大值的位置数即可 时间复杂度为$o(n\log n)$,可以通过 1 #include<bits/stdc++.h> 2 using namespace std; 阅读全文
posted @ 2021-12-18 13:47 PYWBKTDA 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 定义$f_{i,x,s}$表示仅考虑$\{a_{1},a_{2},...,a_{i}\}$,当前${\rm mex}$为$x$且$a_{i}$中有$s$种不同的$>x$的值的方案数 需要注意的是,并不关心于这$s$种具体的值,即这些数仅仅是对$s$计数 考虑转移,根据定义不难得到即$$\begin{ 阅读全文
posted @ 2021-12-12 16:40 PYWBKTDA 阅读(22) 评论(0) 推荐(0) 编辑
摘要: (以下图默认均为$n$个点$,m$条边$,$无自环的无向连通图) 注意到点编号并没有意义,不妨强制dfs序为$\{1,2,...,n\}$,那么$\{a_{i}\}$合法等价于存在图$G$使得点$i$的度数为$a_{i}$且存在一种dfs序为$\{1,2,...,n\}$ 称满足后者的图为"好图", 阅读全文
posted @ 2021-12-11 22:40 PYWBKTDA 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 考虑判定序列$\{b_{i}\}$是否"amazing",从后往前拆分,即等价于如下问题: 初始$c_{i}$均为$k$(长度为$n$),从大到小枚举$i$并选择$c_{j}\ge b_{i}$减1,判定最终能否使$c_{i}$均为0 关于这个问题,可以贪心选择最小的$c_{j}$操作,证明如下: 阅读全文
posted @ 2021-12-11 09:23 PYWBKTDA 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 为了方便,以下默认字符集为$\{A,R,C\}$ 将操作逆向,即将形如ARC的子串变为任意字符,求$T$在$k$步内能得到的$S$数量 考虑给定$S$,如何判定$S$能否被$T$在$k$步内得到—— 将任意字符用?表示,称两个字符串匹配即将?替换后两者相同,那么操作即将能与ARC匹配的子串变为??? 阅读全文
posted @ 2021-12-09 15:15 PYWBKTDA 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 对每一个$k$分别计算答案,通过旋转不妨仅考虑$k=n-1$时 记$a_{i}$为第$i$次扔奶酪的位置,$x$为经过$n-0.1$的奶酪次数(允许重复) 记$b_{i}$为经过$i+0.1$的奶酪次数,则有$b_{i}=x+\sum_{j=1}^{n-1}[a_{j}\le i]-i$(总共$x+ 阅读全文
posted @ 2021-12-08 21:39 PYWBKTDA 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 对于一组合法的$\{x_{i}\}$,取最小的$k$使得$\forall k\in [l_{i},r_{i}],x_{i}=k$,其中$k$存在性显然 进一步的,考虑枚举$k$并求对应于这个$k$的合法$\{x_{i}\}$数量,$\{x_{i}\}$条件即: 1.$\forall k\in [l_ 阅读全文
posted @ 2021-12-07 15:14 PYWBKTDA 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 当$S_{i}=S_{i+1}$时对$i$操作显然无意义,不妨强制不允许此类操作 构造排列$P_{i}$,初始等于$\{1,2,...,n\}$,当对$i$操作后交换$P_{i}$和$P_{i+1}$ 结论:$S_{i}=[\min_{i\le j\le n}P_{j},\max_{1\le j\l 阅读全文
posted @ 2021-12-05 12:29 PYWBKTDA 阅读(33) 评论(0) 推荐(0) 编辑