摘要:假设两个操作者分别为$A$和$B$,其中$A$希望最大、$B$希望最小 (并不默认$A$为整局游戏的先手,仅是最终的结果考虑$A$为先手时) 记第$i$个队列第$j$个元素为$a_{i,j}$(其中$1\le i\le k,1\le j\le n_{i}$) 特判$n_{i}=1$的队列,直接把队列 阅读全文
posted @ 2021-06-11 20:09 PYWBKTDA 阅读(4) 评论(0) 推荐(0) 编辑
摘要:显然这条路径只能在$v_{i}$所在的强连通分量内部,不妨仅考虑这个强连通分量 对这个强连通分量dfs,得到一棵外向树(不妨以1为根) 考虑一条边$(u,v,l)$,由于强连通,总存在一条从$v$到$u$的路径,经过这条路径$t_{i}$次,再经过$u$到$v$这条边$t_{i}-1$次,即从$v$ 阅读全文
posted @ 2021-06-11 08:59 PYWBKTDA 阅读(3) 评论(0) 推荐(0) 编辑
摘要:考虑统计每一轮(以抽到小丑为一轮)的贡献,不难发现答案即期望轮数*每轮期望次数 关于期望轮数,当前牌堆里已经在$S$中的卡实际上没有意义,不妨将这一类卡从牌堆中删除 此时,定义$f_{i}$表示$S$中含有$n-i$个元素,之后期望还需要几轮(包括当前这轮) 显然$f_{0}=1$,问题即求$f_{ 阅读全文
posted @ 2021-06-11 08:26 PYWBKTDA 阅读(4) 评论(0) 推荐(0) 编辑
摘要:令$e_{G}(a)$和$o_{G}(a)$分别表示在图$G$中从1到$a$的长度为奇数/偶数的最短路(若该类最短路不存在则为$\infty$),不难得到有以下结论——$f_{G}(a,b)=\begin{cases}[b\ge e_{G}(a)]&(b\equiv 0(mod\ 2))\\ [b\ 阅读全文
posted @ 2021-06-10 14:58 PYWBKTDA 阅读(7) 评论(0) 推荐(0) 编辑
摘要:问题可以这么理解—— 构造一个$n+1$行$n$列的01矩阵$A$,满足: 1.第$i$列$n+1$个数的和为$a_{i}$ 2.任意两行不完全相同 (对应关系:第$i$行第$j$列为1当且仅当第$i$次操作的集合包含$j$) 不妨将$a_{i}$从大到小排序,即$a_{1}\ge a_{2}\ge 阅读全文
posted @ 2021-06-10 09:36 PYWBKTDA 阅读(9) 评论(0) 推荐(0) 编辑
摘要:记$dep_{x}$为1到$x$的边权和,当$x$上的矿工挖了$y$上的黄金时($y$在$x$子树内),显然$\sum_{e}c_{e}=dep_{y}-dep_{x}$ 由此,对于$u$上权值为$v$的矿工(或黄金),不妨修改其权值为$v-dep_{x}$(或$v+dep_{x}$) 此时,矿工挖 阅读全文
posted @ 2021-06-08 15:47 PYWBKTDA 阅读(10) 评论(0) 推荐(0) 编辑
摘要:特殊处理$c_{i}=1$的$i$,显然对这些$a_{i,1}$求和即可,以下都假设$c_{i}\ge 2$ 对于每一个$i$,将$a_{i,j}$从大到小排序;接下来,对于所有$i$,按照$a_{i,1}-a_{i,2}$从小到大排序 在堆中维护三元组$(S,x,y)$,按照$S$从大到小维护(即 阅读全文
posted @ 2021-06-04 09:42 PYWBKTDA 阅读(5) 评论(0) 推荐(0) 编辑
摘要:将每一行和每一列分别作为一个点,当第$i$行第$j$列的格子为红色时,将第$i$行与第$j$列连边 此时,考虑选择第$i$行的红色格子并将第$i$行的格子全部改成白色: 关于这一操作的条件,即需要第$i$行有红色格子,从图中来看也即第$i$行对应的点度非0 关于这一条件的影响,即第$i$行的红色格子 阅读全文
posted @ 2021-06-01 08:32 PYWBKTDA 阅读(8) 评论(0) 推荐(0) 编辑
摘要:记$S_{1}$和$S_{2}$分别为两个公司所拥有的站台集合,考虑当确定$S_{1}$和$S_{2}$后,如何求0到$n$的最短路 当最短路中从$i$走到$j$(其中$i>j$),那么一定有$j=i-1$,且下一次不会再向前走 (具体证明可以对其分类讨论,这里就省略了) 由此,即可做一个dp,用$ 阅读全文
posted @ 2021-05-31 13:50 PYWBKTDA 阅读(10) 评论(0) 推荐(0) 编辑
摘要:令$Max=\max_{i=1}^{n}p_{i}b_{i}$,显然这是每一个时刻的最大期望收益,因此当第一次胜利后,一定升级$Max$对应的这个游戏并一直玩,使得之后每一个时刻都取到这个最大期望收益 定义$f_{t}$表示可以玩$t$次的最大期望收益(初始状态下,即没有升级过任何游戏),转移考虑枚 阅读全文
posted @ 2021-05-28 14:26 PYWBKTDA 阅读(10) 评论(0) 推荐(0) 编辑
摘要:考虑$i$到$j$的最短路,记作$dis(i,j)$,令字符集大小为$T=8$,有$dis(i,j)<2T$ 证明: 记$l=dis(i,j)$,假设这条最短路依次经过$a_{0},a_{1},...,a_{l}$(其中$a_{0}=i,a_{l}=j$) 若存在$0\le i<j<k\le l$, 阅读全文
posted @ 2021-05-28 08:28 PYWBKTDA 阅读(9) 评论(0) 推荐(0) 编辑
摘要:根据kruskal的贪心过程,先将所有$a$类边连起来,对于一个连通块内的两点,必然通过$a$边联通 考虑对于一条最短路径,必然是一段(可能为空)$a$类边+1条$b$类边,同时其合法当且仅当这些$b$类边都能被加入最小生成树中,即不会与$a$类边产生环,又即不重复经过一个连通块 状压之前经过的连通 阅读全文
posted @ 2021-05-27 14:55 PYWBKTDA 阅读(7) 评论(0) 推荐(0) 编辑
摘要:$(u,v,w)$合法,当且仅当存在一条从$u$到$v$的路径经过$w$(当然$u,v,w$仍要各不相同) 当$w_{1}$和$w_{2}$之间存在两条无公共边的路径,则$\forall u,v\in V,(u,v,w_{1})$和$(u,v,w_{2})$合法是等价的 相当于每一次加入一条边后,就 阅读全文
posted @ 2021-05-27 14:45 PYWBKTDA 阅读(12) 评论(0) 推荐(0) 编辑
摘要:定义集合$S$合法当且仅当:$S\subseteq [1,n]$,$|S|=k$且$\forall i\in [d,n],|S\cap(i-d,i]|\le 1$ 问题即求$\sum_{S合法}\sum_{x\in S}a_{x}$ 记$F(n,k)=\sum_{S合法}1$和$G(n,k,i)=\ 阅读全文
posted @ 2021-05-27 09:48 PYWBKTDA 阅读(20) 评论(0) 推荐(0) 编辑
摘要:建立SAM,假设$s_{i}$在SAM中的位置为$a_{i}$以及$l_{i}=|s_{i}|$,通过$(a_{i},l_{i})$即可确定$s_{i}$,也即可判定是否合法 更具体的,即要求$\forall 2\le i\le k,|[x-l_{i-1}+l_{i},x]\cap R_{a_{i} 阅读全文
posted @ 2021-05-24 15:55 PYWBKTDA 阅读(13) 评论(0) 推荐(0) 编辑
摘要:先考虑没有区间,即对于长为$n$的序列$\{a_{1},a_{2},...,a_{n}\}$(以下记$a_{0}=a_{n+1}=0$),求$F(a,k)$ 问题即构造序列$b_{i}$,满足$\forall 0\le i\le n,b_{i}\equiv a_{i}-a_{i+1}(mod\ k) 阅读全文
posted @ 2021-05-24 10:06 PYWBKTDA 阅读(13) 评论(0) 推荐(0) 编辑
摘要:直接点分树+线段树,对点分树上每一个节点维护子树内所有点到其的距离,需要支持子树修改(因此要用dfs序+线段树)以及区间最大值查询 对于查询,先在根节点的线段树中找到距离根节点最远的点,再枚举其与另一个点在点分树上的lca,同时查询区间最大值 总复杂度为$o(n\log^{2}n)$,会被卡常(惨惨 阅读全文
posted @ 2021-05-23 18:06 PYWBKTDA 阅读(8) 评论(0) 推荐(0) 编辑
摘要:令$E_{1}$和$E_{2}$分别为两树的边集,默认要求其构成一棵树 $op=0$ 给定$E_{1}$和$E_{2}$,此时答案即$y^{n-|E_{1}\cap E_{2}|}$,使用map或排序即可,复杂度为$o(n\log n)$ $op=1$ 给定$E_{1}$,此时答案即$\sum_{E 阅读全文
posted @ 2021-05-22 10:02 PYWBKTDA 阅读(7) 评论(0) 推荐(0) 编辑
摘要:约定:以下字符串下标从1开始 定义$s$为偶回文串,当且仅当$s$的长度为偶数且$s$为回文串 假设$s=ABC$,考虑$t$的情况,即$ABC$的全排列—— 1.$t=ABC$,即$s=t$,由于$n\ge 3$,随便划分即可 2.$t=BCA$或$t=CAB$,即将$s$旋转后变为$t$,枚举$ 阅读全文
posted @ 2021-05-20 16:18 PYWBKTDA 阅读(12) 评论(0) 推荐(0) 编辑
摘要:约定:以下字符串下标从1开始,令$n=|s|$ 对于字符串$s_{1}$和$s_{2}$,定义以下信息—— 定义$s_{1}\approx s_{2}$当且仅当$s_{1}[1,l]=s_{2}[1,l]$(其中$l=\min(|s_{1}|,|s_{2}|)$) 定义$s_{1}\ll s_{2} 阅读全文
posted @ 2021-05-19 22:06 PYWBKTDA 阅读(10) 评论(0) 推荐(0) 编辑