10 2021 档案

摘要:考虑使用平衡树维护该序列,操作显然可以用fhq treap的分裂+合并来实现 进一步的,问题即变为维护哪些信息来支持push up的操作(并判定是否存在$a_{i}<a_{j}<a_{k}$),容易想到去维护区间最大值/最小值、最大的$a_{i}$/最小的$a_{j}$满足存在$a_{i}<a_{j 阅读全文
posted @ 2021-10-29 13:58 PYWBKTDA 阅读(94) 评论(0) 推荐(0) 编辑
摘要:注意到当操作确定后,显然操作顺序总是涂黑色的1操作->涂白色的1操作->2操作 用$b/w_{r/c}(i,j)$表示$(i,j)$是否被黑色/白色 横着/竖着 涂过(1表示涂过,0表示没有),注意到当这些信息被确定后,已经可以确定是否可行以及对应的代价 具体的,考虑一个格子$(i,j)$,对其进行 阅读全文
posted @ 2021-10-28 16:11 PYWBKTDA 阅读(224) 评论(0) 推荐(2) 编辑
摘要:若$(i,j)\in E$,实际上会不断推出$(p_{i},p_{j})\in E,(p_{p_{i}},p_{p_{j}})\in E,...$ 考虑将$i$向$p_{i}$连边得到了一张(由若干个环组成的)有向图,则$(i,j)\in E$有以下两个必要条件: 1.若$i$和$j$在同一个环中, 阅读全文
posted @ 2021-10-28 14:01 PYWBKTDA 阅读(75) 评论(0) 推荐(0) 编辑
摘要:令$f_{i,j,k}$表示前$i$个位置,三种字符最后一次出现的位置为$i,j$和$k$(保证$k<j<i$)的方案数 考虑转移(递推),即分为两步—— 1.填写第$i$个字符,即从$f_{i-1,j,k}$转移到$f_{i,j,k},f_{i,i-1,j}$或$f_{i,i-1,k}$ 2.考虑 阅读全文
posted @ 2021-10-26 14:52 PYWBKTDA 阅读(101) 评论(0) 推荐(0) 编辑
摘要:考虑树的情况,将其以任意一点为根建树 对于每一个节点,考虑其要与父亲操作几次才能使子树内均为黑色,这可以用形如$(0/1,x)$的二元组来描述,其中0/1即表示其要求操作时父亲是白色/黑色且要操作$x$次 考虑一个叶子,其二元组显然为$(0,1)$,接下来每一个点即可以交替将儿子中的$(0/1,x) 阅读全文
posted @ 2021-10-22 13:41 PYWBKTDA 阅读(39) 评论(0) 推荐(0) 编辑
摘要:为了方便,称患有懒癌的狗为"坏狗" 记$Q_{i}$为第$i$个人能观察的狗集合,$S$为坏狗集合,那么第$k$天第$i$个人能得到的信息有且仅有$S\ne \empty$、$S\cap Q_{i}$、前$k-1$天没有开枪,而如果不存在$S_{0}$具有相同的信息且$i\not\in S_{0}$ 阅读全文
posted @ 2021-10-19 14:03 PYWBKTDA 阅读(53) 评论(0) 推荐(0) 编辑
摘要:记$P$为$[1,n]$中所有素数构成的集合,$g(n)$为$n$所有素因子乘积(特别的,$g(1)=1$) 对于一个合法排列$\{q_{i}\}$,注意到$\forall x\in P\cup\{1\},q_{x}$两两互素,也即每一个素因子至多只能在其中出现一次,分析数量不难得到每一个数至多只能 阅读全文
posted @ 2021-10-19 10:46 PYWBKTDA 阅读(293) 评论(0) 推荐(4) 编辑
摘要:将$s$中的01分别变为$1,-1$,即得到一个序列$a_{i}$(设其长度为$n$,下标范围为$[1,n]$) 对$a_{i}$建立一张有向图,其点集合为$Z$,并对$\forall 0\le k<n$从$\sum_{i=1}^{k}a_{i}$向$\sum_{i=1}^{k+1}a_{i}$连边 阅读全文
posted @ 2021-10-15 21:22 PYWBKTDA 阅读(57) 评论(0) 推荐(0) 编辑
摘要:对整个过程构造一张有向图,其中$(x,y)\in E$当且仅当$x$把$y$加入,且边权为$a_{x}$ 显然这是一棵外向树森林,并再做如下两个构造: 1.新建一个点$a_{0}=0$,将其向所有入度为0的点连边 2.将所有边变为无向边,且边权修改为$a_{x}+a_{y}$($x$和$y$为两端点 阅读全文
posted @ 2021-10-15 16:15 PYWBKTDA 阅读(84) 评论(0) 推荐(0) 编辑
摘要:称一个点是"好点",当且仅当其到其余所有点恰存在一条简单路径 结论1:$x$为好点当且仅当以$x$为根的dfs树包含所有点且非树边均为返祖边 若不包含所有点,那么$x$到不被包含的点即不存在简单路径 若存在非树边不为返祖边,则不论如何该边$x$到该边终点存在至少两条简单路径 另一方面,考虑在这样一棵 阅读全文
posted @ 2021-10-14 19:56 PYWBKTDA 阅读(50) 评论(0) 推荐(0) 编辑
摘要:由于两种线段要交替出现,有解的必要条件即为$h=v$(以下均记为$n$) 进一步的,再假设两种线段依次对应于向量$(a_{i},0)$和$(0,b_{i})$,根据题意要求向量长度为给定值且和为0,那么也即有$|a_{i}|=l_{i},|b_{i}|=p_{i}$且$\sum_{i=1}^{n}a 阅读全文
posted @ 2021-10-12 21:48 PYWBKTDA 阅读(57) 评论(0) 推荐(0) 编辑
摘要:不妨先操作一轮,使得$0\le a_{i}\le 2$ 结论:若序列中存在1,则答案为0或1 考虑归纳,注意到若序列中存在1,除非所有元素均为1,否则操作一轮后必然仍存在1,那么根据归纳假设即成立,而当所有元素均为1时,显然答案一定为0或1(序列长度已经为1),同样成立 由此,实际上只需要通过奇偶性 阅读全文
posted @ 2021-10-12 14:46 PYWBKTDA 阅读(25) 评论(0) 推荐(0) 编辑
摘要:对于题中的"normal expression"(仅含加减乘和无前导0的非负整数,无括号)的计算,实际上并不需要通常的表达式求值,而可以用下述方式计算—— 维护三元组$(a,b,c)$,分别表示已经确定的部分、下一个$\pm$之前这些数的系数和当前最后一个数字(或许解释并不清晰,可以参考转移),三者 阅读全文
posted @ 2021-10-12 14:21 PYWBKTDA 阅读(45) 评论(0) 推荐(0) 编辑
摘要:结论:假设$a_{x}=\max_{i=1}^{n}a_{i}$,对于任意$1\le l\le n$,存在长度为$l$且价值最大的子序列包含$x$ 若不存在,任取一个长度为$l$且价值最大的子序列,将其中与$a_{x}$相邻的一项改为$a_{x}$即可 由此,不妨先选择$a_{x}$,并将$x$之前 阅读全文
posted @ 2021-10-12 13:34 PYWBKTDA 阅读(41) 评论(0) 推荐(0) 编辑
摘要:维护$n^{2}$个三元组$(x,y,z)$,每一个三元组描述$a_{x,y}=z$ 对于RLDU这四个操作,即将所有三元组的$x$或$y$执行$\pm 1$(模$n$意义下) 对于IC这两个操作,即分别将$y$和$z$交换或$x$和$z$交换 维护这三个元素交换的顺序以及每一个元素加减的量,最终再 阅读全文
posted @ 2021-10-11 22:14 PYWBKTDA 阅读(32) 评论(0) 推荐(0) 编辑
摘要:为了方便,先将$n$减小1,即两者范围分别为$[0,n]$和$[m,m+n]$ 结论:取$u=\min_{i\in [m,m+n],n\& i=n}i$,则$\forall 0\le i\le u-m,(n-i)\&(u-i)=n-i$ 证明分为两点:1.$u$的存在性;2.后者成立 关于$u$的存 阅读全文
posted @ 2021-10-11 16:26 PYWBKTDA 阅读(56) 评论(0) 推荐(0) 编辑
摘要:假设$x$的最高位为$2^{t}$(即$2^{t}\le x<2^{t+1}$),并构造出$y=2^{t}x\oplus x$,不难发现两者仅在第$t$位上均为1,那么根据异或的性质可得$y=(2^{t}+1)x-2^{t+1}$ 由于$x$为奇数,即$(x,2^{t+1})=1$,进而也即$(x, 阅读全文
posted @ 2021-10-11 12:56 PYWBKTDA 阅读(49) 评论(0) 推荐(0) 编辑
摘要:记$deg_{i}$为$i$的度数,简单分类讨论可得答案下限为$\max_{i=1}^{n}deg_{i}$ 另一方面,此下限是可以取到的,构造方法较多,这里给一个巧妙一些的做法—— 对其以dfs(儿子顺序任意),并要求如果一个节点被父亲递归时时间为$t+1$,则返回时时间为$t$,那么父亲的时间即 阅读全文
posted @ 2021-10-11 10:04 PYWBKTDA 阅读(24) 评论(0) 推荐(0) 编辑
摘要:2020年论文题,这里给出了一个$o(n\log^{2}n+m\log^{3}n)$的做法,例题3即为原题 1.例题1 题面 给定$n$个一次函数$f_{i}(x)$,$m$次查询$F(x)=\max_{i=1}^{n}f_{i}(x)$,强制在线 $1\le n,m\le 3\times 10^{ 阅读全文
posted @ 2021-10-11 07:52 PYWBKTDA 阅读(72) 评论(0) 推荐(0) 编辑
摘要:前置知识 (以下内容并不严谨,可以参考论文《转置原理的简单介绍》) 对于一个算法,其为线性算法当且仅当仅包含以下操作: 1.$read\ i$,将$r_{i}$的值赋为(下一个)读入的元素 2.$write\ i$,将$r_{i}$的值赋给(下一个)输出的元素 3.$update\ i\ j\ c$ 阅读全文
posted @ 2021-10-08 09:49 PYWBKTDA 阅读(120) 评论(0) 推荐(0) 编辑
摘要:令$a_{i}$和$b_{i}$分别为$A_{i}$和$B_{i}$减少的值,考虑判定$\{a_{i}\},\{b_{i}\}$能否被得到 结论:$\{a_{i}\},\{b_{i}\}$能否被得到当且仅当满足以下条件—— 1.$0\le a_{i}\le A_{i}$,$0\le b_{i}\le 阅读全文
posted @ 2021-10-05 22:58 PYWBKTDA 阅读(83) 评论(0) 推荐(0) 编辑
摘要:结论:(不妨假设$p_{1}<p_{n}$)$\{p_{i}\}$合法当且仅当$\exists 1\le i\le n-1$,使得$p_{1}\ge p_{i}$且$p_{i+1}\ge p_{n}$ 充分性—— 为了方便,在删除一个元素后,$i$和$n$也随之变化(指向原来的元素,若删除$p_{i 阅读全文
posted @ 2021-10-02 22:16 PYWBKTDA 阅读(173) 评论(0) 推荐(0) 编辑
摘要:对于两个字符串$s$和$t$(保证其中每一种字符个数相同),定义$s$和$t$的相对逆序对数为$s$得到$t$的最少交换次数,显然同种字符相对顺序保持不变,因此即依次编号后的逆序对数 问题不妨看作构造合法字符串$t$使得$s$和$t$的相对逆序对数最小,定义$f_{S}(s)$为$s$仅保留$S$中 阅读全文
posted @ 2021-10-02 14:15 PYWBKTDA 阅读(206) 评论(0) 推荐(0) 编辑
摘要:为了使得方案的形式较为单一,不妨强制物品体积为1或$\ge \lceil\frac{w}{2}\rceil$,那么假设最终有$x$个1且$\ge \lceil\frac{w}{2}\rceil$的物品体积依次为$a_{1},a_{2},...,a_{n-x}$,不难发现方案数即为$\sum_{i=1 阅读全文
posted @ 2021-10-01 16:20 PYWBKTDA 阅读(53) 评论(0) 推荐(1) 编辑
摘要:将其以$x$为根建树,并定义$k$的点权$w_{k}$为$k$到其父亲的边边权(特别的$w_{x}=0$),那么问题也可以看作选一个包含$x$的点集,满足其的导出子图连通且边集可以被划分为$y$条路径,并最大化点权和 性质1:边集可以被划分为$y$条路径,当且仅当度为1的节点不超过$2y$个 必要性 阅读全文
posted @ 2021-10-01 08:03 PYWBKTDA 阅读(31) 评论(0) 推荐(0) 编辑