文章目录
写在前面QWQ
zhengrui最后一次考试没算rating(哦耶),要不然我又是掉大分QWQ,马上就要CSP了,总结下吧
告诉你,zhengrui数据出锅了,考试加了一次(~ ̄▽ ̄)~
祝你下次掉大分
考试ing + 自己的思考 + 正解
T1(18:00 — 19:00)
一道老套路的找规律题(虽然我还是没写出来吧QWQ),其实可以用二分写(但是我不会),考场上推了一张纸之后还是没发现规律,打表过了60pts(我还是太菜了TAT)。
以下是正解部分 :
虽然题目要求要处理到935个字符串的每一位,但是并不需要,因为第935的字符串是由每个
l
e
n
=
n
+
m
len = n + m
len=n+m 长度的原串拼接而成,所以在第935个字符串里,必然可以找出规律(但是我找不到),规律如下:
我们不难发现,对于任意的x,在
l
e
n
=
n
+
m
len = n + m
len=n+m组成的字符串中所在的位置必然在:
x
−
1
l
e
n
+
1
\frac{x - 1}{len} + 1
lenx−1+1
我们记为
S
=
x
−
1
l
e
n
+
1
S=\frac{x - 1}{len} + 1
S=lenx−1+1,那么有以下规律:
如果
S
−
1
S-1
S−1的二进制表示中有奇数个1,那么则是B1,否则为A1
以下是证明:
从 0 开始编号,则原本第
S
S
S 个元素就变成第
S
−
1
S − 1
S−1 个元素,取
S
−
1
S − 1
S−1 的二进制最高位,
设代表的是
2
z
2^z
2z,那么第
S
−
1
S − 1
S−1 个元素就和第
S
−
1
−
2
z
S − 1 − 2^z
S−1−2z 个元素是相反的(分别取自
A
z
A^z
Az 和
B
z
B^z
Bz的对应位置)。
每次去掉二进制最高位就会取反一次,那么这属于
A
1
A_1
A1还是
B
1
B_1
B1也就只和二进制的奇偶有关了
或者直接大模拟(就是二分)也可以。
最后x出现的位置就是
S
S
S中的第
(
(
x
−
1
)
m
o
d
(
l
e
n
)
)
+
1
((x - 1) mod (len)) + 1
((x−1)mod(len))+1,第一题over
T2(19:00 — 19:30)
在考场上我把这道题看成了动规(我也不知道为什么),然后我的思路就是
f
[
i
]
[
j
]
(
L
+
1
≤
i
≤
R
−
1
,
1
≤
m
≤
m
,
L
=
m
a
x
(
l
[
k
]
)
,
R
=
m
a
x
(
r
[
k
]
)
,
1
≤
k
≤
n
)
f[i][j](L +1 \leq i \leq R - 1,1 \leq m \leq m,L = max(l[k]),R= max(r[k]),1 \leq k \leq n)
f[i][j](L+1≤i≤R−1,1≤m≤m,L=max(l[k]),R=max(r[k]),1≤k≤n)表示在第i个可以操作的节点,并且已经操作了
j
j
j次的可以合成区间的最大值,然后这是转移方程 :
f
[
i
]
[
j
]
=
m
a
x
(
f
[
i
]
[
j
]
,
f
[
i
−
1
]
[
j
−
1
]
+
s
u
m
[
i
]
)
f[i][j] = max(f[i][j] , f[i-1][j-1] + sum[i])
f[i][j]=max(f[i][j],f[i−1][j−1]+sum[i])
这里的
s
u
m
[
i
]
sum[i]
sum[i]表示在i这个节点操作可以的到多少区间的值
然而这是错的QWQ
正解是:
将所有的块离散化之后,一个区间一个区间的贡献值是相同的,所以直接上差分即可(根本想不到QWQ)
T3 + T4(20:00 — 21:30)
T3是一道求最小生成树和方案的题(必然不会),考场上本想推一推,直到看到了sample2之后就直接不想打了QWQ,直接cout<<0(TAT)
T4本想骗到m = 2的小样例,然后dfs没对。。。(人当场傻了)
正解比较长,正在研究中(T3差不多看懂了,T4还在看)
总结(每场比赛最重要の东西)
- 苟
狗起来,还是那句话:把自己能拿的分数拿完,把能码的暴力码完,直接坐等大佬翻车(归根到底还是我太菜了QWQ) - 先码暴力,先码暴力,先码暴力!!!哪怕正解会打,还是要先码暴力,然后将正解和暴力进行对拍(因为在考场上所想的正解不一定是正解!!!(就像这次的T2))把T1,T2的60-80的暴力,最低是40的暴力码完,之后通过优化暴力(比如上优秀的数据结构优化暴力,或者dfs剪枝,最次的直接用暴力的代码直接打表
打表出省一),在所有的暴力全部码完之后再去考虑正解 - T1和T2的200分绝对不能少于150pts!(除非是大摸你)(但是这是在条件2的基础上才可以做到!!!),否则不可能过线!一定要先码暴力,然后重点优化T1,T2
- T3,T4有分就行,由于T3,T4非常难,正解几乎很难想到,或者需要投入大量的时间,所以要求只是把暴力的分数拿到即可,当然如果有思路也可以抽出一些时间去搞,但是绝对不能超过40min
- 如果出现大摸你题,一定要放在最后把所有钙片的分数全部骗完并且时间充裕的时候才可以去写,否则将会陷入循环之中,最后失去时间来写其他的题。
写在最后
马上就要CSP-S了,祝大家入围QWQ