版权声明:此文为作者原创,若觉得写得好请点个赞再离开。当然,也欢迎在讨论区指出本文的不足,作者会及时加以改正。转载请注明地址: https://blog.csdn.net/chenxiaoran666/article/details/83443516
前言
NOIP2018初赛已经结束了,接下来就要准备复赛了。
不过,在此之前,还是先为初赛写一篇解题报告吧。
单项选择题
- 送分题。(
虽然我还是做错了)可以考虑将它们全部转化为
10进制,则
(269)16=(617)10=(1151)8,而
(1001101011)2=(619)2。故选
D。
- 常识题。显然
C,C++,Pascal都是编译执行的,只有
Python是解释执行的。故选
D。
- 一道没什么意义的题目,随便蒙了一个答案。应选
B。
- 显然,深度为
0的有
1个节点,深度为
1的有
k个节点,深度为
2的有
k2个节点,一次类图,深度为
h的有
kh个节点,于是总节点数
=k0+k1+k2+...+kh=k−1kh+1−1。故选
A。
- 由于
T(0)=1,T(n)=T(n−1)+n,所以可得
T(n)=2n(n+1)+1,这是近似于
O(n2)的。故选
D。
- 比较基础的一道题。应选
B。
- 显然,如果固定左端点在最左边,则随机选取一个右端点后线段长度期望为
21,再选择一个点,则线段长度期望肯定小于
21,而答案中只有
B一个选项是小于
21的。故选
B。
- 仔细观察,可以发现
B选项和
C选项本质上是一样的,因此可以排除。
A和
D选项自己手算验证一下,便能发现
A是错误的。故选
A。
- 感性理解一下,不管你摸几次球,每次摸到两个球的概率是一样的,所以应该是
1:1。故选
D。
- 手算代入验证一下即可(其实就相当于
x−=x&−x)。应选
B。
不定项选择题
- 常识题。特别注意即使是关机的手机也不能带进考场,草稿纸同理。故选
AB。
- 自己画画图即可,这里就不多说了。应选
CD。
- 关于此题,
ABD选项选项显然是错的,而
C选项显然有问题。故选
ABD。
- 这题应该也是挺显然的。应选
ABD。
- 这种题目考前刚好复习过。应选
BCD。
问题求解
- 根据第③点,由于丙去了,所以丁一定不去;根据第④点,由于丁不去,而丙去了,说明甲一定去了;根据第②点,由于丁不去,说明乙肯定也没去;根据第①点,由于乙不去,而甲去了,说明周末没下雨。因此答案为:去了 没去 没去 没下雨。
- 首先要知道一个性质:若设
a≤b,则
a=a or b,b=a and b(我也不会证)。对于
b含
1的位数
x进行枚举(从
0∼5),可以发现
a有
2x种选择(每一位选与不选),因此答案就是
∑i=05C5i2i,计算得
243,但由于我们考虑的是
a≤b的情况,因此最终答案应为
243∗2−32=454(注意去重)。
阅读程序写结果
- 模拟即可。答案应为
4。
- 这题本质上就是让你求一张图上有几个环。答案应为
6。
- 熟悉哈希的人都知道,
magic()函数就是一个哈希的过程,因此就是要求出有多少个不同的子串,这应该还是很好数的。答案应为
16。
- 不难发现
getNext()函数就是求当前排列的下一个排列。
可以像我一样大力模拟,也可以像奆佬
hl666 一样用康拓展开求解。答案应为
2 1 3 5 6 4和
3 2 5 6 1 4。
完善程序
-
(1)既然它读入
x了,就不可能是
a[i]=x(否则可以直接读入
a[i])。故答案应为
a[x]=i。
(2)根据双向链表的的对称性可以轻松求解。故答案应为
i+1。
(3)同上。故答案应为
R[a[i]]。
(4)同上。故答案应为
a[i]。
(5)自己带几组数据算一下即可。故答案应为
R[i]。
-
这题是一个先贪心、再
DP的过程(其实一开始的贪心是完全多余的)。
(1)根据此题代码的大致思路,显然可以看出第一个空该填什么。故答案应为
a[i]∗0.95<=b[i]。
(2)这应该也是比较显然的。故答案应为
total_a>=threshold。
(3)这一空与上一空差不多,也是判断当前是否已经满足
≥threshold。故答案应为
total_a+j+a[i]。
(4)显然,此空填的应该是在第二个商店买东西的总价。故答案应为
f[j]+total_b−total_b_prefix。
(5)只要会背包的应该都知道,既然它判断了
j>=a[i],就肯定是要进行转移了。故答案应为
f[j−a[i]]。
后记
这次初赛应该能压线过的。
希望在
NOIP2018中能够取得一个好成绩!