摘要:
看到这题,首先想到树形dp,发现这个显然不会做。从链的做法开始想起,发现如果x有一个儿子,那么就要所有都开一个,如果有两个儿子,那么就是左边最大配右边最大,左边次大配右边次大。然后推广到树上,就是从左到右的儿子,然后分别进行这个合并操作。这个的正确性是可以保证的,因为集合中任意两个节点都没有公共的祖 阅读全文
摘要:
秒了 首先考虑如果没有1x1的格子的话就是一个比较简单的dp,其dp值为斐波那契额数列。然后经过手模可以发现两个格子之间的摆法只有一种,那么可以枚举这两个数的位置,然后就可以得到一个式子,经过前缀和处理之后容易做到O(n)。但是这还不够。因为瓶颈在dp,想到利用矩阵快速求出dp值。然后经过一系列复杂 阅读全文
摘要:
卡常题,服了 首先看到这个像断头一样的题面。其实就是让你求当前温度下,冰人的能量和火人的能量的最小值的两倍。 然后搞出一个冰人的后缀和,火人的前缀和,交点的左右取个max 搞出一个前缀数组和一个后缀数组,因为这个带修,是区间修改单点查询,所以我们要用树状数组。然后在树状数组上倍增就可以了。 具体来说 阅读全文
摘要:
容易发现对于一段幸运数字,它异或后是一样的,所以先离散一下,然后就可以了。注意一下细节,细节有一点多 阅读全文
摘要:
E 发现好索引序列只有n-k+1种,不妨求出每种序列的值,发现每种序列的答案是唯一的(因为是排列),所以线段树/单调队列就可以了 F 考虑直接做最小生成树,容易发现,一组输入因为边的权值相同,它们会在同时处理,而中间会因为在同一个并查集里而continue所以只需连相邻的就可以了 阅读全文
摘要:
非常难想 首先0的位置是不会变的,因为这个\(pos_{0}\)为1,构造出来的这里也要是0。然后1的位置也是不会变的,因为如果变了,那么这个mex所对应的区间就不一样了。然后如果去他的数被确定的区间包含,那么就可以在里面随便放,否则只有固定位置。具体看题解 阅读全文