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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011056504/article/details/83043268

在这里插入图片描述
在这里插入图片描述


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

答案

在这里插入图片描述

解析

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

选择题

不是说好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 级别的。

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

第七题有人要我写一下详细的过程(感觉我这个做法很蠢,应该有更高明的做法):
假设可以把这条线段分成n段,每段的长度是 1 n 1\over n ,那么
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}
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}
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)}
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)}
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)}
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)}
a n s = 1 ( 2 n + 1 ) / 3 n ans=1-(2n+1)/3n
当n趋于正无穷时, a n s = 1 3 ans={1\over 3}

第八题我错了,我选的是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 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}}
相减
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}}
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
即枚举小的数有多少个1,算出方案,再减去重复的即两个数相同的情况。

读程序

第一题直接暴力就行吧。

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

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

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

完善程序

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

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

猜你喜欢

转载自blog.csdn.net/u011056504/article/details/83043268