2023の模拟赛

发布时间 2024-01-06 12:05:11作者: Struct_Sec

10.8

没啥好说的,感觉像CSP-J+模拟赛

T1博弈论简单题,但我做了40min

T2双指针简单题,但我判右界判挂了,-10

T3tg-的树形dp题,吸取上次调一整场没调出树形dp的经验,先不打

T4分块难写题,但我写的主席树,调了2.5h。

最后回去0.5h打T3暴力50分和特殊性质30分,然后链打挂了-10。

总分360,被1.5hAK的BINYU吊着打

10.9

早上模拟赛

T1 贪心结论题,但是BINYU挂了就很抽象

T2 结论题,考场上误以为是神仙题,没做

T3 tg+的换根dp,秉承着先不写换根dp的传统,弃掉了。

T4 神仙结论题,太抽象了。

然后因为T3数据水,总分173。

总结:

不会结论题

晚上做了1道分块题,需要注意的是:遇到一道题,先找性质/规律,不要再那里干想。

10.10

T1 是一个数位dp

但是前3个小时一直按常规思路去想,没跳出来,11:00才想到从最后以为加。

T2是一个简单题,随便手玩一下就做完了。

T3是一个树上问题,感觉很可做,但赛时因为T1做了很久,T2调了1h,没时间想。

赛后看了一下题解,发现就是很套路的枚举每个点作为LCA,转换一下条件,然后合并一下子树的信息就做完了。

T4是一个挺奇妙的ds,没做过这种抽象题,思路是推式子,转化式子,ds维护,但是挺难写的,感觉就算想出来也不一定写的出来。

总结:dp做少了,代码能力不行,加训。

10.12

NOIP组确实难不少

T1是一个奇妙的在暴力dp上做奇妙优化的玩意,赛时写了1.5h发现假了,还没改。

T2是一个技巧题,但是这种题感觉很难往二分上想,想到了二分就比较简单了,但是赛时根本没想二分。

T3是一个看起来是平面问题,但实际上是一个树上问题的东西,难在转化。

T4是玄学题目,感觉有点CSP-S2022T1的感觉,也是要使4个东西和最大,正解也是枚举其中的2个,然后暴力枚举剩下2个,似乎有异曲同工之妙,或许这是一种trick(?

总结:思维水平太低,只会打基础暴力,高档暴力一点不会,加训。

10.14

T1 分块/莫队/主席树简单题,赛时写的主席树想复杂了,没写出来。

T2 技巧题,维护一下前缀和看从哪里出去,然后队列统计一下答案。

T3 反悔贪心,没改。

T4奇妙ds题,转换后很简单,但是转换很奇妙。

10.16

垫底垫底垫底

T1简单题

T2简单题,但我写的dfs会T

T3奇妙转换题,比较简单,只是大家都没去做。

T4难写ds题,写了6k+没调出来,赛后改错改了3h。

总结:策略问题

10.17

语言组模拟赛

T1简单题,但是开了int128忘了强转。

T2简单题,但是yc给出了错误的题意。

T3简单题,题目:保留4位;我:%.6lf

T4简单题,我以为我是乱搞,但其实我是正解。

总结:2100m

11.13

难度很高的一场

CQBZ的题质量很高

T1是一个暴力然后均摊复杂度的东西。

赛事思路对了一半,想到了路径唯一,但不知道怎么去维护,正解是用用数组记录每一列在每一行上的位置,奇妙的维护。

T2是一个图论题,是一个看上去很不可做的题(对于我来说),但是我们按路径长度倒着去推它,发现这玩意已经是当前所以路径里的最大值了,就可以用这个去更新答案,更新完了删掉这条边,一直这样做直到没有边。

T3T4是神仙题,没改。

11.14

难度稍微偏简单的一场。

T1是简单题,把有颜色的点丢到vector里面然后暴力印。

T2是思维&结论题,代码难度不高,思维含量高。

先考虑末状态长什么样,发现就是2个完全图,然后就可以讨论奇偶性了,讨论的时候发现和n的奇偶有关,以及散点的个数有关,然后继续分讨即可。

T3是简单题,做法多样。

T4是神仙题,没改。

11.16

[A](https://local.cwoi.com.cn:8443/contest/C0389/problem/A)

简单题

[B](https://local.cwoi.com.cn:8443/contest/C0389/problem/B)

首先问题可以将至少两个转换为两个

因为是或和,我们考虑记录某一位最早出现的位置和最晚出现的位置即可。

考虑枚举每一个位置作为分界点,合法即为每一位出现的最早位置在分界点左边,最晚出现的位置在右边。然后统计答案即可。

[C](https://local.cwoi.com.cn:8443/contest/C0389/problem/C)

考虑划分后的样子,肯定先划分一段一段异或和相等的段,然后选出其中一些连续的组成一段。

但是要分类讨论最后的异或和是0还是其他数。

是其他数的话就用一个dp去计数。

是0的话就先算前面为0的地方,每个地方都可以选/不选,方案数为 $2^{cnt_{n-1}}$ ,否则先不考虑最后一段,然后将前面的段按前一种做去计数即可。

[D](https://local.cwoi.com.cn:8443/contest/C0389/problem/D)

不会

11.17

[A](https://local.cwoi.com.cn:8443/contest/C0390/problem/A)

简单题

[B](https://local.cwoi.com.cn:8443/contest/C0390/problem/B)

改了,又不会了,菜

哦哦哦,会了

用 $dp_{i,j}$ 表示第i个点,后缀有j个不同的方案数。

转移显然

观察发现可以矩阵优化转移,然后就做完了

[C](https://local.cwoi.com.cn:8443/contest/C0390/problem/C)

大模拟,不会写。

[D](https://local.cwoi.com.cn:8443/contest/C0390/problem/D)

大ds,不会

11.22

[A](https://local.cwoi.com.cn:8443/contest/C0392/problem/A)

赛时假掉了。

做法:把绝对值拆开,发现需要同时满足2个条件:

$xi-xj<=wi-wj$ 和 $xi+wj<=wi-wj$

然后排序满足第一个的单调性,然后扫一遍记录max和答案即可。

[B](https://local.cwoi.com.cn:8443/contest/C0392/problem/B)

考虑先把奇偶性去掉,然后用t的答案减s的答案,现在我们需要解决的是一个值的问题。

考虑去掉上界/下界,下界不好搞就去掉上界,然后考虑容斥+插板法就做完了。

[C](https://local.cwoi.com.cn:8443/contest/C0392/problem/C)

考虑记录每个点的子树内深度最大/次大/次次大的叶子结点的深度,个数,几条分支。

然后换根一下,求max即可。

[D](https://local.cwoi.com.cn:8443/contest/C0392/problem/D)

考虑到难以直接维护删边/加边,我们决定多开n个点,然后用并查集去维护这些点和哪些点合并的信息。

把第i条边拆成 $(u,n+i),(v,n+i)$ ,然后我们称原来的点为黑点,新加的点为白点。

考虑三种情况,进行计数和维护即可。

具体见spider_oyster的博客[Link](https://www.luogu.com.cn/blog/spider-oyster/solution-p9194)。

11.24

[A](https://local.cwoi.com.cn:8443/contest/C0396/problem/A)

简单题

[B](https://local.cwoi.com.cn:8443/contest/C0396/problem/B)

如果 $m<=n*k*2$ ,暴力算

否则因为 $k<=100$ ,导致最终的答案为左右两边边界的值对应,中间的值全部相等,最多只会出现 $n*k+1$ 种不同的值,然后我们对于这些值用换根dp做即可。

[C](https://local.cwoi.com.cn:8443/contest/C0396/problem/C)

二维st表板子。

[D](https://local.cwoi.com.cn:8443/contest/C0396/problem/D)

首先我们不难发现最优的起始点一点是在k个点中的某两点,最短路径即为类似于树上直径的东西,两遍dij就做完了。

11.27

[A](https://local.cwoi.com.cn:8443/contest/C0398/problem/A)

简单题,但是写了7k,2h

[B](https://local.cwoi.com.cn:8443/contest/C0398/problem/B)

trick:遇到平方数,消掉平方因子。

消掉以后合法条件就是区间内没有相同的数。

然后可以处理出 $pos_{i}$ 表示用i个修改使区间合法的最远下标。

然后用dp转移即可。

[C](https://local.cwoi.com.cn:8443/contest/C0398/problem/C)

结论:Bob必赢。

证明:如果有连续2个空格,就一定还能填,如果是一个空格,只要两边是相同颜色,就还能填。

所以最后的的局势一定是ABABABAB....因此Bob必赢。

然后就是计数,计数相对比较简单。

[D](https://local.cwoi.com.cn:8443/contest/C0398/problem/D)

有个题解比较清楚[Link](https://www.luogu.com.cn/problem/U386038)

11.29

[A](https://local.cwoi.com.cn:8443/contest/C0400/problem/A)

简单题,但是想1.5h都不会,然后暴力+性质=会正解。

[B](https://local.cwoi.com.cn:8443/contest/C0400/problem/B)

没见过。

考虑满足条件的有2种情况。

1.有进位,则最高位一定是1,把1加到上一位算一次,不加算一次

2.没进位,直接算。

算就是2个指针,同时从左边和右边往中间靠,边靠边判是否合法,不合法就是0,合法就算有多少种可能即可。

[C](https://local.cwoi.com.cn:8443/contest/C0400/problem/C)

简单题,但是数组开小。

[D](https://local.cwoi.com.cn:8443/contest/C0400/problem/D)

没改。

12.1

T1找规律

T2可以看出是树形结构,然后树上启发式合并一下就行

T3喵喵题

题解:

对于普通的树,到一个点最远的点一定是直径的端点之一,先求出一条直径,若直径的两个端点颜色相同,则最长距离一定为直径,否则,令两个端点分别为 x, y,枚举答案 d,所有到 x 距离 > d 的点颜色必须与 y一样,所有到 y 距离 > d 的点颜色必须和 x 一样,由于 x, y 是直径的两个端点,可以发现,若一个点 z 到x, y 的距离都不超过 d,则其到任何一个点的距离不超过 d,所以 z 的黑白并不会对答案产生影响。
具体的,找出直径,预处理直径到每一个点的距离,从大到小枚举 d,维护当前没有被限制的点的个数,
当出现 min dis(x,i),dis(y,i) > d 时说明 d 已经不合法,预处理 $2^k$ 可以做到 $O(N)$。

T4没改

12.5

T1

矩阵优化dp

T2

$n^3$ 前缀和统计答案

T3

建图,但有用的只有一些边,然后跑dij

12.7

T1

快速幂

T2

可以szz+bit,但是我写的主席树

T3

结论:重心。

12.9

T1简单题

T2简单结论

T3排序后容斥即可

T4简单线段树

12.13

T1阅读题

T2普通莫队+bitset

T3边双+二分+树上差分

T4析合树惹不起

12.14

T1蒙的结论

T2树形dp

T3建树,dp这层和下一层的点数即可

T4构造题

12.18

T1简单题

T2弱智题

T3点分树板题/转换后树剖

T4神仙数位dp

12.21

T1 简单题

T2 简单题

T3 拆柿子题

T4 妙妙题

考虑不合法的情况就是全部一样的时候

容斥算答案,并查集维护

12.23

T1 暴搜题,但是没倒着存

T2 状压dp,没做过这种倒着存的题诶

T3 这个数据范围,考虑区间dp

为了不算重也不算漏,我们考虑从两边往中间dp

然后就是用哈希判一判,转移即可

12.26

T1 简单题

T2 简单题

T3

考虑先计算出答案

然后用调整法,每次把合法的最大的换到前面去

用set+权值线段树维护即可,但是有点小卡常

T4

二分答案

每次倒着check

把+a[i]换成-a[i],需要保证任意一个时刻竹子高度>=0即可

感觉 就是 很智慧的题目

12.29

T1,T2简单题

T3 思路大概是拆连通块,跑克鲁斯卡尔,但是细节没讲,我太菜了也不会,还没改