2020CSP初赛试题答案解析

目录

1.CSP-J试题(C++A卷 )

2.CSP-J答案(C++A卷)

3.CSP-J试题(C++B卷 )

4.CSP-J答案(C++B卷)

5.CSP-S试题(C++A卷 )

 6.CSP-S答案(C++A卷)

7.CSP-S试题(C++B卷 )

8.CSP-S答案(C++B卷)

9.CSP-S解析


1.CSP-J试题(C++A卷 )

2020CSP初赛试题答案解析_第1张图片

2020CSP初赛试题答案解析_第2张图片

2020CSP初赛试题答案解析_第3张图片

2020CSP初赛试题答案解析_第4张图片

2020CSP初赛试题答案解析_第5张图片

2.CSP-J答案(C++A卷)

2020CSP初赛试题答案解析_第6张图片

3.CSP-J试题(C++B卷 )

2020CSP初赛试题答案解析_第7张图片

2020CSP初赛试题答案解析_第8张图片

2020CSP初赛试题答案解析_第9张图片

 

2020CSP初赛试题答案解析_第10张图片

 

2020CSP初赛试题答案解析_第11张图片

4.CSP-J答案(C++B卷)

2020CSP初赛试题答案解析_第12张图片

5.CSP-S试题(C++A卷 )

2020CSP初赛试题答案解析_第13张图片

2020CSP初赛试题答案解析_第14张图片

 

2020CSP初赛试题答案解析_第15张图片

2020CSP初赛试题答案解析_第16张图片

 

2020CSP初赛试题答案解析_第17张图片

2020CSP初赛试题答案解析_第18张图片

2020CSP初赛试题答案解析_第19张图片

 6.CSP-S答案(C++A卷)

2020CSP初赛试题答案解析_第20张图片

7.CSP-S试题(C++B卷 )

2020CSP初赛试题答案解析_第21张图片

2020CSP初赛试题答案解析_第22张图片

 

2020CSP初赛试题答案解析_第23张图片

2020CSP初赛试题答案解析_第24张图片

 

2020CSP初赛试题答案解析_第25张图片

 

2020CSP初赛试题答案解析_第26张图片

2020CSP初赛试题答案解析_第27张图片

 

8.CSP-S答案(C++B卷)

2020CSP初赛试题答案解析_第28张图片

9.CSP-S解析

a.选择题

不用多说了吧,最后一题上网查查克劳德·艾尔伍德·香农

2020CSP初赛试题答案解析_第29张图片

b.阅读程序

T1

找出一大一小的数的按位或运算后的最大值。

n可以等于1000;当所有d[ i ]相等时ans=-1;当只枚举i后面的数时会少枚举在i之前的比i大的数,例如一个降序排列序列;不等于包含小于,答案不变。

或的最大值不可能大于127

两个偶数二进制下最低为为0,输出才能为偶数。

T2

用快排的思想找第k小的数。

x范围[L,R];while结束后当L!=R时 d[ a ]=d[ b ],L=R时d[ a ]!=d[ b ]但是d[ b ]一定没有问题;

平均时间复杂度的计算,不是很懂。

最好情况,a-L==k时就退出,O(n);最坏情况下第一层执行n次,第二层执行n-1次,....O(n^2)。

T(n)=n+\sum_{x=1}^{n}\frac{T(x)+T(n-x)}{2}

T3

给你两个字符串st0、st1和k ,有如下操作:

1.将st0的0~m位的字符整体右移一位,超出的一分放到左边;

2.将st0的m~len-1位的字符整体左移一位,超出的一个移到右边;

问从st0变成st1的最少步数。

原程序用双向bfs实现。

最坏时间复杂度为O(  ( N! )^2  )

两个倒序的字符串无论如何通过上述操作都不能互相转化。

68手动模拟一下即可。

c.完善程序

T1

贪心。

注意int不能直接整除,要交叉相乘后比较。

当curV+v[i]>B时,v[ i ]这个物品只能被分成B-curV个单位体积。

此时a=\frac{B-curV}{v[i]}               ans=curW+a*w[i]=curW+\frac{(B-curV)*w[i]}{v[i]}=\frac{curW*v[i]+(B-curV)*w[i]}{v[i]}

T2

经典的平衡规划。

x^=x&(x^(x-1))就是lowbit,手动模拟一下可以发现。

x为a的高8为,x=a>>8

设f[ x ][ y ]表示当前新加入的数高8位为x,以之前某一个后8位为y的数为序列结尾的最大价值。

先转移,v =max  {  f[ x ][ z ] +w( y^z ) },初值当然为0。

更新时用 v+(  w( x^z )<<8  ) 去更新 f[ z ][ y ]即可。

 

详解网址:https://live.polyv.cn/watch/1946668

你可能感兴趣的:(联赛CSP&NOIP,总结,NOIP,总结,初赛,答案)