2022.10.14 模拟赛小结

大概是相对来讲补的比较全的一场了。。。

题面PDF链接

(这个链接只是为了自己方便找,页面设置权限了,不要尝试访问)

更好的阅读体验戳此进入

(建议您从上方链接进入我的个人网站查看此 Blog,在 Luogu 中图片会被墙掉,部分 Markdown 也会失效)

赛时思路

T1

排列 An 种进行若干次操作,每次删去相邻两个数较大的那个,求最终可能得到的序列数量

原题 LG-P7972 [KSN2021] Self Permutation

大概就是想到了一些性质(不过没用),想到了一些 DP 状态(然后没转移出来),总之最后的最后推了一个来小时,啥也没推出来,只能想到十分 nt 的 O(n!) 做法,直接爆零,我是 fw。

T2

对于正整数序列 An,每次求区间 [l,r] 内值域在 [a,b] 的数和数值个数。

原题 LG-P4396 [AHOI2013]作业

能依稀感觉有点像莫队但是依然不会,然后也没想到值域分块,最后糊了个暴力上去,O(nm) 感觉好像也能过?不过最后好像是数据锅了还是怎么,总之最后 LemonLime 上爆零了。

Code

T3

构造一棵有 2n 节点的树,对于节点 ii+n 记值为 i,要求满足任意 ii+n 之间的路径的值异或起来为 i

原题 AT5140 [AGC035C] Skolem XOR Tree

阴间构造,只推出来了 2t 的数是无解的,不过没啥用,puts("No") 也能过。

总之最后手动构造的 110 过了,然后有两个 No 过了,成为了本场所有题里唯一的 40pts

Code

T4

原题 LG-P3750 [六省联考 2017] 分手是祝愿

期望题,不会,不过实际上不是很难,不是不可做的题。

正解

T1

把每个点建立一个区间,左右分别是第一个比它小的数的位置向中心移动一位,用单调栈从左到右从右到左各自维护一遍,令 dp(i) 表示以 ai 结尾有多少种可能的最终排列,转移就是从 j<i 种找到所有 ij 的区间有交的来求和,这个东西可以用树状数组维护一下,最终复杂度 O(nlogn),可以通过。

Code

T2

说实话这题确实不难,不过以前好像几乎没写过莫队,也没怎么写过值域分块,考场上是在是没想出来。

通过莫队维护区间 [l,r] 的答案,具体的答案维护套一个值域分块,实现起来确实不难,细节也不是很多,挺板子的。

确实是没啥可说的。

Code

T3

确实算是一道很神奇的构造。

首先显然若 n=2t,或者说 n=lowbit(n),那么显然无解。

考虑到对于 i[2,n1]2i,有 i1(i+1)i=i,对于 i+1 同理,所以可以以 1 为根,在 1 上挂两个链,ii+1i+1+ni+n。然后考虑把 1+n 挂在 3 或者 2+n 上即可,这个很显然。

然后若 2n,对于最后剩下的 n,挂一条 nlowbit(n)+1+n1nlowbit(n)n+n 的链即可。

 

T4

咕咕咕,不过这题还不错,加到题单里了,laterrrrrrrrrrrr 可以做一做。

UPD

update-2022_10_14 初稿