上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 37 下一页
摘要: 首先,来构造这棵树的形态 称位数相同的点为一类点,从每一类点中任选一个点,具有以下性质: 1.每一类中选出的点的导出子图连通(是一颗树) 2.每一条边必然有一个端点属于某一类中选出的点 (关于“若有解,一定存在上述这种形式的解”的证明可能比较困难,大概感性理解一下?) 由于类别很少(记为$m=\lf 阅读全文
posted @ 2021-02-07 07:25 PYWBKTDA 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 先线段树分治,但事实上与普通的动态连通性/二分图的判定有很大的区别: 1.对每一个修改(建议将初始的边也作为无色修改),在其第一次修改时进行判定,若发现不合法则将其颜色改为对该边最后一次可行的修改,之后再执行即可; 2.操作顺序会影响,有可能左子树中的操作先于父亲的操作 对于此类操作,必然要求父亲之 阅读全文
posted @ 2021-02-06 20:44 PYWBKTDA 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 对于两条边$(x_{1},y,c)$和$(x_{2},y,c)$,不难发现$x_{1}$与$x_{2}$完全等价,因此可以合并 重复此过程,合并之后用启发式合并来合并边集(注意自环也可以参与合并,即$(x,y,c)$和$(y,y,c)$,那么就将$x$和$y$合并),并用一个队列来记录操作 之后,当 阅读全文
posted @ 2021-02-06 20:26 PYWBKTDA 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 类似cf582E,先建出表达式树,然后树形dp+离散+min和max卷积的优化,复杂度为$o(nm|E|)$,无法通过 考虑我们仅关心于这$n$个数的大小关系,具体来说,假设给出的数组是$a_{i,j}$(其中$0\le i<m,1\le j\le n$),对于某一个$j$,将$a_{i,j}$从小 阅读全文
posted @ 2021-02-06 20:20 PYWBKTDA 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 称0到$L$的方向为左,同时为了方便,可以假设$0<t_{i}\le 2L$ 当我们确定是进入店中的方向,根据这个店的位置以及购物时间,不难确定出来时火车经过0或$L$的次数,由于$0<t_{i}\le 2L$,因此总共至少有一次且分别不超过1次,即分以下三类讨论: 1.经过0未经过$L$,在该位置 阅读全文
posted @ 2021-02-05 15:44 PYWBKTDA 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 由于每一个运算都有括号,因此添加的运算不会改变运算顺序 先将其建出一棵表达式树,也就是维护两个栈,是节点和运算符优先级单调递增的栈(设置左括号优先级最低,右括号弹出直至左括号) 每一次运算,也就是新建一个节点(节点上记录操作符),并将栈顶的两个节点作为其儿子即可 关于?是操作符还是变量的判定,只需要 阅读全文
posted @ 2021-02-05 13:59 PYWBKTDA 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 构造一张二分图,左边是$n$个点,右边是$n-1$个集合,按照点属于集合连边 定义一组匹配的意义,即说明该点的父亲在该集合中选择 利用dinic求出二分图的最大匹配,若不为$n-1$则无解,否则考虑如何去构造一组解: 考虑左边剩下的未参与匹配的点$x$,将其作为根,并将所有含有$x$的集合所匹配的点 阅读全文
posted @ 2021-02-04 15:02 PYWBKTDA 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 令$f_{S}$表示字符串$S$的答案(所有子集的方案数之和),考虑转移: 1.最后是一个字符串,不妨仅考虑最后一个字符,即$f_{S[1,|S|)}$(字符串下标从1开始),特别的,若$S_{|S|}=1$,还有一个2倍的系数 2.是一个乘法,考虑是$k\times T$,记$l=|T|$,则$T 阅读全文
posted @ 2021-02-04 14:21 PYWBKTDA 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 考虑第$i$列的答案,即找到一个区间$[l,r]$,使得: 1.$l$和$r$要同奇偶,令$ans=\frac{r-l}{2}$,要求尽量大($ans+1$即为该列答案) 2.$\forall 0\le j\le ans$,$[l+j,r-j]\subseteq [l_{i-j},r_{i-j}], 阅读全文
posted @ 2021-02-03 16:27 PYWBKTDA 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 先考虑枚举最后的点,并以其为根 首先,操作祖先-后代关系是没有意义的,因为以后必然有一次操作会操作祖先使其返回原来的位置,那么必然不如操作后代和那一个点(少一次操作) 考虑某一次操作,总深度和恰好减2,因此若有解,操作次数为深度和的一半 考虑dp,令$f_{k}$表示以$k$为根的子树经过若干次操作 阅读全文
posted @ 2021-02-03 10:24 PYWBKTDA 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 特判$n=2$,以下有$n\ge 3$ 考虑两个节点的交集,分类讨论: 1.距离大于4,则交集为空 2.距离等于4,则交集大小恰好为1,即路径上中间的点 3.距离等于3,则交集大小恰好为2,即路径上的两个点(不包括端点) 4.距离等于2,则交集大小至少为3,至少包含两者路径上包括端点的3个点 5.距 阅读全文
posted @ 2021-02-03 10:10 PYWBKTDA 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 考虑这样一个问题—— 有若干个$01$序列,将这些序列以任意顺序连接,最小化逆序对数 记其中第$i$个序列有$a_{i}$个$0$和$b_{i}$个$1$,序列内部的逆序对数可以直接统计 此时,仅需统计序列间的逆序对数,进而即按照$\frac{b_{i}}{a_{i}}$从小到大排序(调整法易证) 阅读全文
posted @ 2021-02-03 08:14 PYWBKTDA 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 令$f(x)=\frac{x^{2}+c}{x}$,换言之即$x$物品的性价比的倒数 对其求导即$f'(x)=1-\frac{c}{x^{2}}$,其导数严格递增,换言之即是一个严格下凸函数,记$x_{0}$为其最小值的位置,那么不难证明$x_{0}=\lfloor\sqrt{c}\rfloor$或 阅读全文
posted @ 2021-02-02 13:24 PYWBKTDA 阅读(346) 评论(0) 推荐(0) 编辑
摘要: (可以先阅读题目中关于顺逆时针的定义,避免理解错误) 考虑一盘菜$b_{i}$被$a_{j}$吃掉,对于其最后一次移动:如果是顺时针,则称$b_{i}$的移动区间为$[a_{j},b_{i}]$(若$b_{i}<a_{j}$则为$[a_{j},n)\cup[0,b_{i}]$的环),反之类似(特别的 阅读全文
posted @ 2021-02-02 09:36 PYWBKTDA 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 考虑对于第$i$层$x$与第$i+1$层所对应的点$y$,点$p$在前$i$层中当且仅当$p$到$x$比$p$到$y$距离小 由此,考虑枚举第一层的一个点以及对应到第二层的边,通过bfs就可以确定第一层的点 接下来,标记第一层的点后,第一层的点剩下到未标记的点即为第二层的点,以此类推,就可以$o(m 阅读全文
posted @ 2021-02-01 21:03 PYWBKTDA 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 考虑每一个圆即对应于区间$[x_{i}-r_{i},x_{i}+r_{i}]$,可以看作对于每一个区间,要求所有右端点严格比其小的区间不严格包含左端点 用$f_{i}$表示仅考虑右端点不超过$i$的区间的方案数,分为两类: 1.第$i$个节点不作为右端点,即$f_{i-1}$; 2.第$i$个节点作 阅读全文
posted @ 2021-02-01 19:04 PYWBKTDA 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 记$len_{i}=r_{i}-l_{i}$,即第$i$个区间的长度 用$f_{i,j}$表示前$i$个区间合法,第$i$个区间位于$[j,j+len_{i}]$的最小代价,暴力dp的时间复杂度为$o(nL^{2})$ 考虑$f_{i,j}$的转移,即$f_{i,j}=\min_{[j,j+len_ 阅读全文
posted @ 2021-02-01 13:58 PYWBKTDA 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 考虑当$a\le b$时,构造两种方案,满足诚实的人不交,接下来要求对于任意询问,这两种方案的答案都有可能相同 考虑询问$(i,j)$,若$i$在两种方案中有一种不诚实,那么总可以让答案相同,又因为诚实的人不交,因此一定可行 当$a>b$,我们只需要找到一个诚实的人就可以做了,考虑如何找到这个诚实的 阅读全文
posted @ 2021-02-01 11:42 PYWBKTDA 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 对每一个节点用二元组$(p,v)$表示,其中$p$是其是父亲的左(0)还是右(1)儿子,$v$是其父亲的点权 $x$合法当且仅当:对于其到根路径上所有$(0,v)$都有$a_{x}<v$、$(1,v)$都有$a_{x}>v$ 用树链剖分+线段树来维护这些二元组,即求出$(0,v)$的区间最小值和$( 阅读全文
posted @ 2021-01-27 10:06 PYWBKTDA 阅读(164) 评论(0) 推荐(2) 编辑
摘要: 考虑暴力的dp,即用$f_{i,j}$表示以$i$为根的子树内,强制$i$必须选且异或为$j$的方案数,转移用FWT即可,求出该dp数组的时间复杂度为$o(nm\log_{2}m)$ 由于是全局的方案数,再记录一个$sum_{i,j}=f_{i,j}+\sum_{son}sum_{son,j}$,那 阅读全文
posted @ 2021-01-27 09:12 PYWBKTDA 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 记$p_{i}$表示该位置是否有硬币 称使得$p_{i,i+1,i+2}$都变为1的操为对$i$的添加操作,使得$p_{i,i+1,i+2}$都变为0的操作为对$i$的删除操作 考虑一个简单的操作:若$p_{i}=1$,且$p_{i+1}=p_{i+2}=p_{i+3}=0$,可以通过执行对$i+1 阅读全文
posted @ 2021-01-25 20:50 PYWBKTDA 阅读(205) 评论(2) 推荐(0) 编辑
摘要: 不难证明,能作为测试装置的$x$构成一个连通块(或为空) 在此基础上,利用非空连通块点数-边数=1进行统计,具体即—— 假设有$f_{x}$个$S$能以$x$作为测试装置$,g_{(x,y)}$个$S$能同时以$x$和$y$作为测试装置,则答案为$$\sum_{x\in V}{f_{x}\choos 阅读全文
posted @ 2021-01-25 14:09 PYWBKTDA 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 题目连接 暴力dp时间复杂度为$o(nm^{2})$,是不行的 考虑当我们强制该连通块包含根,可以直接在dfs序上dp,即若该点选则考虑从$f_{i+1}$转移,否则从其子树所对应区间右端点+1来转移(即$f_{dfn_{x}+sz_{x}}$),利用单调队列优化可做到$o(nm)$ 之后对其点分治 阅读全文
posted @ 2021-01-23 16:43 PYWBKTDA 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 也是一道保序回归的题,但思路不同于论文中模板题 考虑两个开口向上的二次函数$f(x)$和$g(x)$,求任意实数$x,y$满足$x\le y$且最小化$f(x)+g(y)$,这个最小值可以分类讨论求出: 1.若$f(x)$最小值位置小于等于$g(x)$的最小值位置,显然都取最小值即可; 2.若$f( 阅读全文
posted @ 2021-01-23 13:25 PYWBKTDA 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 考虑二叉树的结构,但并不容易构造从叶子返回的边 (以下为了方便,将所有点编号为$[0,n)$) 对于$i$,选择$2i\ mod\ n$和$(2i+1)\ mod\ n$这两条出边 从二叉树的角度并不容易证明正确性,可以先将取模去掉,那么两点相同当且仅当模$n$后相同 而10步以内,$i$可以走到$ 阅读全文
posted @ 2021-01-22 16:17 PYWBKTDA 阅读(113) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 37 下一页