NOIP2018 提高组初赛 个人理解+解析

NOIP2018 提高组初赛 个人理解+解析_第1张图片
NOIP2018 提高组初赛 个人理解+解析_第2张图片

文章目录

  • 答案
  • 解析
    • 选择题
    • 不定项
    • 问题求解
    • 读程序
    • 完善程序

复赛总结链接

先放出答案,解析在后面。

答案

NOIP2018 提高组初赛 个人理解+解析_第3张图片

解析

解析全是我的个人想法(胡扯),有大佬发现错漏的请麻烦指出。

选择题

不是说好15题1.5分每题的吗?
第一题直接算就好了吧,D是619,其他都是617

第二题我猜的,C/C++/Pascal感觉差不多是一类,于是就选Python
贴一个百度链接,自己看吧

第三题说什么好呢,不过应该可以记得冬令营的时候雅礼门口大大的35th。然而这题我做错了。

第四题将h=1和h=2并随便去一个k带入就会发现只有A是正确的。当然感受一下或者类似二叉树的理解一下也能理解出来A是对的。

第五题显然T(n)就是从1加到n,这个显然是 n 2 n^2 n2级别的。

第六题没话说,该怎样怎样。

第七题有人要我写一下详细的过程(感觉我这个做法很蠢,应该有更高明的做法):
假设可以把这条线段分成n段,每段的长度是 1 n 1\over n n1,那么
a n s = ∑ i = 1 n ∑ j = i n ( j − i ) n n ( n + 1 ) / 2 ans={\sum_{i=1}^n\sum_{j=i}^n{(j-i)\over n}\over n(n+1)/2} ans=n(n+1)/2i=1nj=inn(ji)
a n s = ∑ i = 1 n ( 1 + n − i ) ∗ ( n − i ) / 2 n 2 ( n + 1 ) / 2 ans={\sum_{i=1}^n{(1+n-i)*(n-i)/2}\over n^2(n+1)/2} ans=n2(n+1)/2i=1n(1+ni)(ni)/2
a n s = ∑ i = 1 n n + n 2 − i n − i − i n + i 2 n 2 ( n + 1 ) ans={\sum_{i=1}^n{n+n^2-in-i-in+i^2}\over n^2(n+1)} ans=n2(n+1)i=1nn+n2iniin+i2
a n s = n 2 + n 3 − ( 2 n + 1 ) ∑ i = 1 n i + ∑ i = 1 n i 2 n 2 ( n + 1 ) ans={n^2+n^3-(2n+1)\sum_{i=1}^ni+\sum_{i=1}^n i^2 \over n^2(n+1)} ans=n2(n+1)n2+n3(2n+1)i=1ni+i=1ni2
a n s = n 2 ( n + 1 ) − n ( n + 1 ) ( 2 n + 1 ) / 2 + n ( n + 1 ) ( 2 n + 1 ) / 6 n 2 ( n + 1 ) ans={n^2(n+1)-n(n+1)(2n+1)/2+n(n+1)(2n+1)/6 \over n^2(n+1)} ans=n2(n+1)n2(n+1)n(n+1)(2n+1)/2+n(n+1)(2n+1)/6
a n s = n 2 ( n + 1 ) − n ( n + 1 ) ( 2 n + 1 ) / 3 n 2 ( n + 1 ) ans={n^2(n+1)-n(n+1)(2n+1)/3 \over n^2(n+1)} ans=n2(n+1)n2(n+1)n(n+1)(2n+1)/3
a n s = 1 − ( 2 n + 1 ) / 3 n ans=1-(2n+1)/3n ans=1(2n+1)/3n
当n趋于正无穷时, a n s = 1 3 ans={1\over 3} ans=31

第八题我错了,我选的是C,正确答案是A(看错题了)。
直接带个3或者4进去暴力做一下就能选出A。
当然直接从意义上去考虑推也行,自行百度吧。

第九题是不是又要推式子……(我的做法又好蠢)
红球每个人都会抽一个。
蓝球设每个人抽S个:
n趋于正无穷。
S = 0 2 1 + 1 2 2 + 2 2 3 + . . . + n − 1 2 n S={0\over 2^1}+{1\over 2^2}+{2\over 2^3}+...+{n-1\over 2^n} S=210+221+232+...+2nn1
S 2 = 0 2 2 + 1 2 3 + 2 2 4 + . . . + n − 2 2 n + n − 1 2 n + 1 {S\over 2}={0\over 2^2}+{1\over 2^3}+{2\over 2^4}+...+{n-2\over 2^n}+{n-1\over 2^{n+1}} 2S=220+231+242+...+2nn2+2n+1n1
相减
S 2 = 1 2 2 + 1 2 3 + 1 2 4 + . . . + 1 2 n − n − 1 2 n + 1 {S\over 2}={1\over 2^2}+{1\over 2^3}+{1\over 2^4}+...+{1\over 2^n}-{n-1\over 2^{n+1}} 2S=221+231+241+...+2n12n+1n1
S = 1 S=1 S=1
所以比例是1:1。

第十题一样带两个数进去试试就知道了。

不定项

第一题猜得。
第二题枚举得。
第三题常识得。
第四题常识得。
第五题猜得。

问题求解

第一题直接根据题意乱搞。

第二题我猜测如果满足条件的话,必然a和b与和或的值分别是a和b。
这样的话就是二进制下一个数是另一个数的子集。
a n s = 2 ∗ ( ∑ i = 0 5 C 5 i ∗ 2 5 − i ) − 2 5 = 454 ans=2*(\sum_{i=0}^5 C_5^i*2^{5-i})-2^5=454 ans=2(i=05C5i25i)25=454
即枚举小的数有多少个1,算出方案,再减去重复的即两个数相同的情况。

读程序

第一题直接暴力就行吧。

第二题就是相当于连边然后找多少个连同块。

第三题是只出现过一次的子串。

第四题是求出比给定排序大t的排序是什么,第一问可以暴力,直接阶乘加一加到200就能算出第二问。

完善程序

这个不解释了,不过第二大题我错了第一空和第四空。

做完好像只剩15分钟,还是有难度的。
主要是几个计算量大的题算了好几次……
于是最后得分是91?

你可能感兴趣的:(总结,正式比赛游记)