浅谈java第十一届蓝桥杯省模拟赛的题目

小H刚考完蓝桥杯,觉得无聊,找到手机列表里最帅的那个人准备聊天。

浅谈java第十一届蓝桥杯省模拟赛的题目_第1张图片

新白:在的。

小H:今天刚考完蓝桥杯,你考的怎么样?

新白:还行吧。

小H:还行?,好吧,咱聊聊吧。
第一题:浅谈java第十一届蓝桥杯省模拟赛的题目_第2张图片
浅谈java第十一届蓝桥杯省模拟赛的题目_第3张图片

新白:这个题,一个有n个顶点的无向连通图最少有n -1条边,最多有n(n - 1) / 2条边。所有是2019-1=2018,最少是2018条边

小H:哦豁,那我再问问你,一棵包含有2019个结点的树,最多包含多少个叶结点?

新白:叶结点就是度为0,度为2的结点比度为0的结点少1,当叶结点最多的时候,让度为1的结点为0,n0+0+n0-1=2019 (n0=1010),所以最多包含1010个叶结点。

小H:那这个题呢,在一棵二叉树上第5层的结点数最多?

新白:根据二叉树的性质:深度为k的二叉树至多有2 ^k -1个结点,最少只有k个结点,二叉树第i(i≥1)层上至多有2^(i-1)个结点。所以最多是16个。那我问问你,在深度为5的满二叉树中,叶子结点的个数为?

小H:好吧,所谓满二叉树是指这样的一种二叉树:除最后一层外,每层上的所有结点都有两个子结点。也就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第K层上有2^(K-1)个结点,且深度为m的满二叉树有2 ^m个结点。
在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为2^(5-1)=2 ^4=16

新白:那我再考考你,设某棵树的度为3,其中度为3,1,0的结点个数分别为3,4,15。则该树中总结点数为?

小H:树中的结点数即为树中所有结点的度之和再加1,所以设度为2的结点数为n,3+n+4+15 =(3 * 3+n* 2+4* 1+15* 0)+1,则n=8,即度为2的结点数为8,所以总结点数为3+8+4+15=30
浅谈java第十一届蓝桥杯省模拟赛的题目_第4张图片
新白:那好吧,那看下一题
浅谈java第十一届蓝桥杯省模拟赛的题目_第5张图片

小H:这个解法左右括号,我暴力求解不会,用了公式,看:
【解决括号问题、出栈次序问题,凸多边形的三角剖分问题、用给定结点组成二叉树的问题等等】浅谈java第十一届蓝桥杯省模拟赛的题目_第6张图片

package 蓝桥杯省赛;
import java.util.Scanner;
public class Main2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int result = f(2 * n);
        int sum = f(n);
        int count = f(n + 1);
        int N = result / (sum * count);
        System.out.println(N);
    }
    private static int f(int n) {
        if (n == 1)
            return 1;
        return n * f(n - 1);
    }
}

浅谈java第十一届蓝桥杯省模拟赛的题目_第7张图片
新白:我做这题时直接是数出来的
(((())))、((()()))、((())())、((()))()、(()(()))、(()()())、(()())()、(())(())、(())()()、()((()))、()(()())、()(())()、()()(())、()()()()浅谈java第十一届蓝桥杯省模拟赛的题目_第8张图片

浅谈java第十一届蓝桥杯省模拟赛的题目_第9张图片

小H:那这题你会吧,说说你的计算。
浅谈java第十一届蓝桥杯省模拟赛的题目_第10张图片

新白:这题简单。
1MB=1024KB;
1KB=1024Byte(字节)
12.5MB=12.5 * 1024* 1024=13107200

package 蓝桥杯省赛;
/**
 *  1MB=1024KB;
 *  1KB=1024Byte(字节)
 */
public class Main3 {
    public static void main(String[] args) {
        double sum=12.5*1024*1024;
        System.out.println(sum);
    }
}

浅谈java第十一届蓝桥杯省模拟赛的题目_第11张图片

小H:那这题呢?
浅谈java第十一届蓝桥杯省模拟赛的题目_第12张图片

新白:我解答这题用的是排列组合,感觉就是java中的数学排列组合思想,7个字母,2个相同的。
浅谈java第十一届蓝桥杯省模拟赛的题目_第13张图片

小H:上面讨论的是填空题,写代码的题我们下次讨论吧。

新白:嗯嗯,行。

浅谈java第十一届蓝桥杯省模拟赛的题目_第14张图片

你可能感兴趣的:(算法,同学聊天室)