2021/5/9模拟赛

T1

给出一个长度为 n n n的字符串,改变其中最少的字符数,使得前 k k k个字符和后 k k k个字符相等。
一开始想打个暴力,但是感觉细节太多,重叠部分会很难处理,再仔细一看数据规模与约定,有个额外限制说有 50 % 50\% 50%的数据保证 1 ≤ k ≤ ⌊ n 2 ⌋ 1≤k≤\lfloor \frac{n}{2} \rfloor 1≤k≤⌊2n​⌋,所以就只拿这 50 50 50分吧。

T2

给出 n n n个长度为 m m m的 01 01 01串,每一位做 x o r xor xor, o r or or, a n d and and操作中的一种,需要确定每一位的这个操作,问还需要至少再给出几个串。
一开始看了好久没看懂题,然后感觉应该是每位需要 2 2 2个 1 1 1, 2 2 2个 0 0 0。在后来搞清楚了这三个位运算是干啥的,应该是需要 2 2 2个 1 1 1, 1 1 1个 0 0 0就够了。

T3

给一个长度为 n n n的序列,输出修改后的序列,修改后序列保证两两互质,并且修改量最小。
一开始 g c d gcd gcd和线性筛的板子都敲好了,但是感觉细节好多啊,最后没能写出来,随便骗了一下分不知道行不行。

T4

T T T组数据,每次输入长度为 n n n的序列(从 1 1 1到 n n n不重复),看看是否存在 a x + a z = a y a_x+a_z=a_y ax​+az​=ay​,其中 x < y < x x<y<x x<y<x。
正解一时间没想到,然后打了个暴力,每次标记序列中有哪些数,然后线性向右移动,把第 y y y个数字前数标记一下,然后判断。

成绩出来了

T 1 T1 T1写的 50 50 50分,但由于数据被水所以有 85 85 85, T 2 T2 T2直接 A A A, T 3 T3 T3没分,吃饭的时候还开玩笑说能搞个五维数组水 30 30 30分, T 4 T4 T4得了 40 40 40分算是意料之中。

正解

T 1 T1 T1分情况写比较方便,当 k > ⌊ k 2 ⌋ k>\lfloor \frac{k}{2} \rfloor k>⌊2k​⌋时统计每个应该相同的的位置出现最多的字符。
T 3 T3 T3装压DP,而且还得写上写优化
T 4 T4 T4权值线段树+ H a s h Hash Hash

上一篇:清北营模拟赛 5.9


下一篇:一年后斩获腾讯T3,全网最新