2018 CSP-J 初赛解析
今天这个做的是真的烂,60分,妙极了(微笑
可以看看人家的解析
选择:
选择好多不太懂的,一个个的来解析
先分析一下选择的知识点:
计算机基础 :T1、T3、T4、T5、T8
进制转换 :T2
找规律 :T6
T7 :满n叉树
“求一共比较的次数”:T9
T10:递归定义 T11:图论 T12:集合相关 T13:欧拉函数
计算机基础就自己看吧,第4,5题要记一下(因为不会(雾 )
T7:
额。。。。
kh-1是第h-1层的节点个数,也就是最下面的这一层的节点个数啊。。。
很显然
嗯对 :-)
T9
这玩意当时是真不会。。。
这玩意是有一个优化算法的,算法如下:
int i; if( n % 2 == 1 ){ //n为奇数 big = small = a[1]; i = 2; }else{ //n为偶数 big = max( a[1],a[2] ); small = min( a[1],a[2] ); i = 3; } for( i;i <= n;i += 2 ){ da = max( a[i],a[i+1] ); //是这两个数中的较大值 xiao = min( a[i],a[i+1] );//这两个数中的较小值 big = max( da,big ); //与最大值比较 small = min( xiao,small );//与最小值比较 }
其中奇数需要比较 3*( N - 1 ) / 2 =(3N+1)/2 - 2次(没懂)
偶数需要 1+3*( N - 2 ) / 2 = 3N/2 – 2(没懂)