07 2022 档案

摘要:显然每个点双独立,不妨分别考虑(特判两点一边的情况): 必要条件1:任意两点间不存在三条长度$\ge 2$且两两不交的简单路径 若存在,记点集分别为$\{a_{i}\},\{b_{i}\}$和$\{c_{i}\}$,用$[x_{1}<_{x_{2}}x_{3}]$表示"方向" 根据抽屉原理,存在两条 阅读全文
posted @ 2022-07-28 10:07 PYWBKTDA 阅读(89) 评论(0) 推荐(0) 编辑
摘要:将矩形每$w$行分为一块,则染色部分即连续$h$列的前/后缀 将其离散后,对每个位置求出最长前/后缀,这可以用单调队列做到线性 将"每个位置" 和 极长的无染色块缩成一个点,显然总点数为$o(n)$ 点间的边即同块内相邻两点 和 相邻两块中两点(均需判对应区间有交),显然同样为$o(n)$ 时间复杂 阅读全文
posted @ 2022-07-27 13:02 PYWBKTDA 阅读(70) 评论(0) 推荐(0) 编辑
摘要:定义$f_{u,i}$表示点$i$能否通过$[l_{i},r_{i}]$中的边到达$v_{i}$,并用bitset维护 记$S_{k}=\{i\mid k\in [l_{i},r_{i}]\}$,则转移即$f_{u}|=f_{v}\& S_{k}$(其中$k$为$(u,v)$的编号) 关于$S_{k 阅读全文
posted @ 2022-07-26 22:29 PYWBKTDA 阅读(140) 评论(0) 推荐(0) 编辑
摘要:记$sg(n)={\rm mex}\{sg(n-x)\mid x\in X\}$,考虑如何求$sg(n)$—— 将$m,a,n$均除以$\gcd(m,a)$(其中$n$向下取整),以下假设$m,a$互素 特判$a=0(m=1)$的情况,此时$sg(n)=n$,以下假设$a\in [1,m)$ 用$( 阅读全文
posted @ 2022-07-23 07:07 PYWBKTDA 阅读(174) 评论(1) 推荐(0) 编辑
摘要:Subtask1(1-2) 暴力枚举割集并检验,时间复杂度为$o(m2^{m})$,可以通过 Subtask2(7-14) 记$a_{i},b_{i}$分别为$s,t$与$i$的边权,则有三种割边方案,代价分别为$a_{i},b_{i}$和$a_{i}+b_{i}$ (不妨假设$a_{i}\le b 阅读全文
posted @ 2022-07-20 13:57 PYWBKTDA 阅读(78) 评论(0) 推荐(0) 编辑
摘要:取$T=S_{i}$,不断删除其任意子串$\in \{S_{j}\mid i\ne j\}$,最终应有$T\in \{S_{i},\empty\}$ 关于该过程的实现,考虑建立AC自动机,并从前往后依次加入字符 若当前节点存在后缀为某子串,则删去该后缀,并跳到剩余部分对应位置 若$T=\empty$ 阅读全文
posted @ 2022-07-17 15:18 PYWBKTDA 阅读(74) 评论(0) 推荐(0) 编辑
摘要:假设抛物线为$y=ax^{2}+bx$,二分枚举答案后,每个靶子的限制即半平面 换言之,问题即对这些半平面求交(是否为空),需注意$a\le 0$和$b\ge 0$的自身限制 关于半平面交,与凸包(指维护直线极值)类似,具体流程如下: 1.用点+向量的形式描述直线(规定其左侧为可行区域),并加入足够 阅读全文
posted @ 2022-07-15 19:21 PYWBKTDA 阅读(30) 评论(0) 推荐(0) 编辑
摘要:考虑维护包含前$i$个点的最小圆,并不断加入下一个点—— 若加入的点被该圆包含,显然答案不变,否则该点必然在新的最小圆边界上 换言之,此时得到了一个确定边界上某点的子问题,并用类似的方式处理 以此类推,当第$3$轮中出现此情况时,即得到了圆边界上的三点,进而解出该圆 具体的,以距离圆心相等建立方程, 阅读全文
posted @ 2022-07-14 19:48 PYWBKTDA 阅读(33) 评论(0) 推荐(0) 编辑
摘要:考虑$a_{i}\ge 0$的情况,维护可重集$S=\{a_{i}\}$,从前往后依次确定$a_{i}$ 令$x,y$分别为$S$中的最小和最大值,取$a_{i}=\begin{cases}x&xy\le w\\y&xy>w\end{cases}$并在$S$中删除 记$Y=\{i\mid a_{i} 阅读全文
posted @ 2022-07-11 21:04 PYWBKTDA 阅读(64) 评论(0) 推荐(0) 编辑
摘要:建立AC自动机,记$|x$和$fail_{x}$分别表示$x$的深度(从$0$开始)和失配指针 记$W_{x}$表示以$x$为结束节点的字符串权值和$,S_{x}=\sum_{z在(fail树中)x到根路径上}W_{z}$ 对于字符串$s_{i}$,定义$pos_{r}$表示$s_{i}[1,r]$ 阅读全文
posted @ 2022-07-10 11:00 PYWBKTDA 阅读(258) 评论(4) 推荐(1) 编辑
摘要:二分枚举答案,并考虑如下贪心: 从左到右依次选择区间,并维护未选区间的"右边界" 记当前位置为$l$,右边界$\le r$的未选区间数为$cnt_{l,r}$(其中$r\in [l,n]$) 取最小的$r$满足$cnt_{l,r}=|[l,r]|$,将这$cnt_{l,r}$个区间中右端点最小的填在 阅读全文
posted @ 2022-07-08 15:52 PYWBKTDA 阅读(107) 评论(0) 推荐(0) 编辑
摘要:显然每一个连通块独立,不妨假设原图连通,并建立dfs树 假设树上有$k$条返祖边,并记其覆盖的点集分别为$V_{1},V_{2},...,V_{k}$ 显然有奇环时无解,因此不妨假设$\forall 1\le i\le k,|V_{i}|\equiv 0(mod\ 2)$,进而$|V_{i}|\ge 阅读全文
posted @ 2022-07-07 12:56 PYWBKTDA 阅读(18) 评论(0) 推荐(0) 编辑