一年一度的 NOIP 到了,这次我不在原来的曹杨二中考试,而是在张江集团考。这个考点不像曹杨二中一样要在外面等,而是到了就可以进去了。但是题目和考场体验截然不同。
T1
这次第一题我就不会做。我首先想到了暴力解法,找出所有的含有 7 7 7 的数字,并将它以及它的倍数全都设为不合法,然后暴力判断。
在我后面的题目都做不出来后,我又回到了这题,想到了若 n = 1 0 k + 1 a + 7 × 1 0 k + b n=10^{k+1}a+7\times 10^k+b n=10k+1a+7×10k+b就可以直接跳到 1 0 k + 1 a + 8 × 1 0 k = 1 0 k ( ⌊ n 1 0 k ⌋ + 1 ) 10^{k+1}a+8\times 10^k=10^k(\left\lfloor \frac{n}{10^k}\right \rfloor+1) 10k+1a+8×10k=10k(⌊10kn⌋+1)然后我就用链表写了另一种解法,不知道会不会快一点,这题我大约能得50~70分。
T2
这题基本看不懂,不过我也口胡出了不知道是否正确的暴力解法:先枚举所有 n ≤ S ≤ n × 2 m n\leq S \leq n\times 2^m n≤S≤n×2m 且 S S S 的二进制数不超过 k k k,然后对于每一个已经枚举到的 S S S,将其二进制的第 i i i 位设为 a i a_i ai,然后不断地做 a i → a i − 1 , a i − 1 → a i − 1 + 2 a_i\rightarrow a_i-1, a_{i-1}\rightarrow a_{i-1}+2 ai→ai−1,ai−1→ai−1+2直至 a a a 的总和为 n n n,然后这种情况的答案为 n ! ∏ i = 0 m a i ! ∏ i = 0 m v i a i \frac{n!}{\prod\limits_{i=0}^{m}a_i!}\prod\limits_{i=0}^{m}{v_i}^{a_i} i=0∏mai!n!i=0∏mviai最终将所有的合法答案相加即可。这题我大约能得 0~20分。
T3
又是方差,这次我先直接 DFS 暴力,然后试着根据题目给出的方差公式推式子
D
=
1
n
∑
i
=
1
n
(
a
i
−
a
‾
)
2
n
2
D
=
n
∑
i
=
1
n
(
a
i
−
a
‾
)
2
=
n
∑
i
=
1
n
(
a
i
2
−
2
a
‾
a
i
+
a
‾
2
)
=
n
∑
i
=
1
n
a
i
2
−
n
∑
i
=
1
n
2
a
‾
a
i
+
n
∑
i
=
1
n
a
‾
2
\begin{aligned} D &= \frac{1}{n}\sum\limits_{i=1}^{n}(a_i-\overline{a})^2\\ n^2D&= n\sum\limits_{i=1}^{n}(a_i-\overline{a})^2\\ &= n\sum\limits_{i=1}^{n}(a_i^2-2\overline{a}a_i+\overline{a}^2)\\ &= n\sum\limits_{i=1}^{n}a_i^2-n\sum\limits_{i=1}^{n}2\overline{a}a_i+n\sum\limits_{i=1}^{n}\overline{a}^2\\ \end{aligned}
Dn2D=n1i=1∑n(ai−a)2=ni=1∑n(ai−a)2=ni=1∑n(ai2−2aai+a2)=ni=1∑nai2−ni=1∑n2aai+ni=1∑na2设
S
=
∑
i
=
1
n
a
i
S=\sum\limits_{i=1}^{n}a_i
S=i=1∑nai,
T
=
∑
i
=
1
n
a
i
2
T=\sum\limits_{i=1}^{n}a_i^2
T=i=1∑nai2,则
n
2
D
=
n
T
−
∑
i
=
1
n
2
S
a
i
+
n
2
a
‾
2
=
n
T
−
2
S
∑
i
=
1
n
a
i
+
S
2
=
n
T
−
2
S
2
+
S
2
=
n
T
−
S
2
\begin{aligned} n^2D&=nT-\sum\limits_{i=1}^{n}2Sa_i+n^2\overline{a}^2\\ &=nT-2S\sum\limits_{i=1}^{n}a_i+S^2\\ &=nT-2S^2+S^2\\ &=nT-S^2 \end{aligned}
n2D=nT−i=1∑n2Sai+n2a2=nT−2Si=1∑nai+S2=nT−2S2+S2=nT−S2
在
a
i
a_i
ai 变成
a
i
+
1
+
a
i
−
1
−
a
i
a_{i+1}+a_{i-1}-a_i
ai+1+ai−1−ai 时
Δ
S
=
a
i
+
1
+
a
i
−
1
−
2
a
i
\Delta S=a_{i+1}+a_{i-1}-2a_i
ΔS=ai+1+ai−1−2ai
Δ
T
=
(
a
i
+
1
+
a
i
−
1
−
a
i
)
2
−
a
i
2
=
Δ
S
(
S
+
a
i
)
\begin{aligned} \Delta T &=(a_{i+1}+a_{i-1}-a_i)^2-a_i^2\\ &= \Delta S(S+a_i) \end{aligned}
ΔT=(ai+1+ai−1−ai)2−ai2=ΔS(S+ai)
n
2
Δ
D
=
n
2
D
′
−
n
2
D
=
n
2
(
n
T
′
−
S
′
2
)
−
n
2
(
n
T
−
S
2
)
=
n
2
[
n
(
T
+
Δ
T
)
−
(
S
+
Δ
S
)
2
]
−
n
2
(
n
T
−
S
2
)
=
.
.
.
\begin{aligned} n^2\Delta D&= n^2D'-n^2D\\ &= n^2(nT'-S'^2)-n^2(nT-S^2)\\ &= n^2\left[n(T+\Delta T)-(S+\Delta S)^2\right]-n^2(nT-S^2)\\ &= ... \end{aligned}
n2ΔD=n2D′−n2D=n2(nT′−S′2)−n2(nT−S2)=n2[n(T+ΔT)−(S+ΔS)2]−n2(nT−S2)=...
后来实在推不动了,并且什么结论也得不到。
在考试结束后听别人说是转成差分后那个操作相当于交换差分数组中的两个元素。
T4
看完题目后觉得这题我可能至少要花 2 个小时以上,并且有可能写错,于是我就放弃了。
总结
这次比赛难度比去年大很多,我还是基本什么学过的知识都用不到,不过我感觉我已经将我能拿到的所有分数全都拿到了,只要不失误应该会有66~106分,而去年我只有60分。
但愿不挂分。