03 2020 档案

摘要:对于2操作,如果把这些操作看成边,那么对于某一个连通块内的若干个点,满足权值可以任意分配(证明:归纳,若n个点可以,那么先将新增的点调整好,再对原来n个点重新分配即可),因此可以将原图缩点,并将连通块的和作为新的权值1操作比较复杂,同样把其当成边连起来,形成一张图(包括自环),然后考虑图中的一个连通 阅读全文
posted @ 2020-03-31 20:58 PYWBKTDA 阅读(172) 评论(0) 推荐(0) 编辑
摘要:先对其求出前缀异或和,然后$o(k)$次枚举,每次选择最大值,考虑如何维护可以全局开一个堆,维护出每一个点的最大值的最大值,那么相当于要在一个点中删去一个点再找到最大值将这些删去的点重新建成一颗trie树,与所有数构成的trie树减一下,就可以找到新的最大值了,再用堆维护即可有一些细节:1.数值范围 阅读全文
posted @ 2020-03-26 20:55 PYWBKTDA 阅读(157) 评论(0) 推荐(0) 编辑
摘要:首先有一个暴力的做法,将任意两个点判断,可以得到与之相关的1或3只变色龙:1只是两只变色龙相互喜欢,那么剩下那只就是颜色相同;3只从3只选2只并和自己判断一次,结果为1的那次剩下的那个就是他喜欢的,然后将所有喜欢关系删掉后剩下的就是颜色相同但这样一开始需要$o(n^2)$次的判断,考虑优化,如果将点 阅读全文
posted @ 2020-03-26 16:21 PYWBKTDA 阅读(228) 评论(0) 推荐(0) 编辑
摘要:首先朴素dp的方程,即$f[i][j]=max(f[i][j-1],f[i-1][j],(a[i]==b[j])*(f[i-1][j-1]+1))$,这中间特殊的转移只在a[i]=b[j]时,而在这道题中与a[i]相等的b[j]只有5个,考虑利用这一性质先预处理每一种数的位置,在枚举i的同时,用线段 阅读全文
posted @ 2020-03-14 17:19 PYWBKTDA 阅读(229) 评论(0) 推荐(0) 编辑