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(没懂)

 

    

 

 

 

 

    

posted @ 2021-08-22 16:35  little_sheep_xiaoen  阅读(817)  评论(0编辑  收藏  举报