试题 A: 解密

小明设计了一种文章加密的方法:对于每个字母 c,将它变成某个另外的字符 T c 。下表给出了字符变换的规则:

例如,将字符串 YeRi 加密可得字符串 EaFn。小明有一个随机的字符串,加密后为EaFnjISplhFviDhwFbEjRjfIBBkRyY(由 30 个大小写英文字母组成,不包含换行符),请问原字符串是多少?

答案:YeRikGSunlRzgDlvRwYkXkrGWWhXaA

试题 B: 纪念日

2020 年 7 月 1 日是CPC成立 99 周年纪念日。CPC成立于 1921 年 7 月 23 日。
请问从 1921 年 7 月 23 日中午 12 时到 2020 年 7 月 1 日中午 12 时一共包含多少分钟?

答案:52038720
闰年:24个  平年:75个
(25*366+74*365)*24*60 - 22*24*60 = 52038720

试题 C: 合并检测

答案:10
分析:假设A国有n个人,感染者有n/100,每k个人一组,共n/k组,共用n/k瓶试剂
按照最坏的情况,每多出一个感染者就多用k瓶试剂,因此共用n/k+(n/100)*k瓶试剂
n=10时,n*(1/k+k/100)最小

试题 D: 分配口罩

某市市长获得了若干批口罩,每一批口罩的数目如下:(如果你把以下文字复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 mask.txt,内容与下面的文本相同)
9090400
8499400
5926800
8547000
4958200
4422600
5751200
4175600
6309600
5865200
6604400
4635000
10663400
8087200
4554000
现在市长要把口罩分配给市内的 2 所医院。由于物流限制,每一批口罩只能全部分配给其中一家医院。市长希望 2 所医院获得的口罩总数之差越小越好。请你计算这个差最小是多少?

答案:2400

设这些数的和为sum,分为两组后,一组数的和必定<=sum/2,另一组数的和必定>=sum/2。
我们只需要求出这样一组数,它们的和<=sum/2,并且这个和要尽可能最大。
用dp[j]表示一组数的和,这个和<=j,并且在所有情况下最大,这里我们要求dp[sum/2]。

public class Main {public static void main(String[] args) {int[] nums = {9090400,8499400,5926800,8547000,4958200,4422600,5751200,4175600,6309600,5865200,6604400,4635000,10663400,8087200,4554000};int sum = 0;for(int i = 0; i < nums.length; ++i) {sum+=nums[i];}int half_sum = sum/2;int[] dp = new int[99990000];for(int i = 0; i < nums.length; ++i) {for(int j = half_sum; j >= nums[i]; --j) {dp[j] = Math.max(dp[j], dp[j-nums[i]]+nums[i]);}}System.out.print(sum-2*dp[half_sum]);}
}

试题 E: 斐波那契数列最大公约数

斐波那契数列满足 F1 = F2 = 1,从 F3 开始有 Fn = Fn−1+Fn−2 。请你计算GCD(F2020 ,F520),其中GCD(A, B) 表示 A 和 B 的最大公约数。

答案:6765

import java.math.BigInteger;public class Main {public static BigInteger gcd(BigInteger a,BigInteger b) {return b.equals(BigInteger.ZERO) ? a : gcd(b, a.mod(b));}public static void main(String[] args) {BigInteger arr[] = new BigInteger[2021];arr[1] = arr[2] = BigInteger.ONE;for(int i = 3; i <=2020; ++i) {arr[i] = arr[i-1].add(arr[i-2]);}System.out.print(arr[2020].gcd(arr[520]));}
}

试题 F: 分类计数

输入一个字符串,请输出这个字符串包含多少个大写字母,多少个小写字母,多少个数字。

【输入格式】
输入一行包含一个字符串。
【输出格式】
输出三行,每行一个整数,分别表示大写字母、小写字母和数字的个数。
【样例输入】
1+a=Aab
【样例输出】
  1
  3
  1

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner s = new Scanner(System.in);String str = s.next();char[] arr = str.toCharArray();int upper = 0, lower = 0, digit = 0;for(int i = 0; i < arr.length; ++i) {if(arr[i] >= 'A' && arr[i] <= 'Z') {upper++;} else if(arr[i] >= 'a' && arr[i] <= 'z'){lower++;} else if(arr[i] >= '0' && arr[i] <= '9') {digit++;}}System.out.print(upper+"\n"+lower+"\n"+digit);s.close();}
}

试题 G: 八次求和

【问题描述】
给定正整数 n, 求 1^8 + 2^8 + ··· + n^8 mod 123456789 。其中 mod 表示取余。
【输入格式】
输入的第一行包含一个整数 n。
【输出格式】
输出一行,包含一个整数,表示答案。
【样例输入】
  2
【样例输出】
  257
【评测用例规模与约定】
  对于 20% 的评测用例,1 ≤ n ≤ 20。
  对于 60% 的评测用例,1 ≤ n ≤ 1000。
  对于所有评测用例,1 ≤ n ≤ 1000000。

快速幂运算(算乘方的时间复杂度为logn)+模运算

import java.util.Scanner;public class Main {static int mod = 123456789;public static void main(String[] args) {Scanner s = new Scanner(System.in);int n = s.nextInt();long ans = 0;for(long i = 1; i <= n; ++i) {ans = (ans+quickPow(i,8))%mod;  //long型的i防止计算时溢出}System.out.print(ans);s.close();}static long quickPow(long a, int b) {long ans = 1;while(b>0) {if((b&1) == 1) {ans = (ans*a)%mod;}a = (a*a)%mod;  //记录位权b >>= 1;}return ans;}
}

BigInteger类

import java.math.BigInteger;
import java.util.Scanner;public class Main {public static final BigInteger mod = BigInteger.valueOf(123456789);public static void main(String[] args) {Scanner s = new Scanner(System.in);int n = s.nextInt();BigInteger sum = BigInteger.ZERO;for(int i = 1; i <= n; ++i) {BigInteger temp = BigInteger.valueOf(i);sum = sum.add(temp.multiply(temp).multiply(temp).multiply(temp).multiply(temp).multiply(temp).multiply(temp).multiply(temp));}System.out.print(sum.mod(mod));s.close();}
}

试题 H: 字符串编码

小明发明了一种给由全大写字母组成的字符串编码的方法。对于每一个大写字母,小明将它转换成它在 26 个英文字母中序号,即 A → 1, B → 2, ... Z →26。这样一个字符串就能被转化成一个数字序列:比如 ABCXYZ → 123242526。
现在给定一个转换后的数字序列,小明想还原出原本的字符串。当然这样的还原有可能存在多个符合条件的字符串。小明希望找出其中字典序最大的字符串。

【输入格式】
一个数字序列。
【输出格式】
一个只包含大写字母的字符串,代表答案
【样例输入】
123242526
【样例输出】
LCXYZ
【评测用例规模与约定】
对于 20% 的评测用例,输入的长度不超过 20。
对于所有评测用例,输入的长度不超过 200000。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner s = new Scanner(System.in);String seq = s.next();String ans = "";for(int i = 0; i < seq.length(); ++i) {if(i < seq.length()-1 && (seq.charAt(i) == '1' || seq.charAt(i) == '2' && seq.charAt(i+1) <= '6')) {String temp = (seq.charAt(i)-'0'+"")+(seq.charAt(i+1)-'0'+"");ans += (char)('A'+Integer.parseInt(temp)-1);++i;} else {ans += (char)('A'+seq.charAt(i)-'0'-1);}}System.out.print(ans);s.close();}
}

试题 I: BST 插入节点问题

试题 J: 网络分析

小明正在做一个网络实验。他设置了 n 台电脑,称为节点,用于收发和存储数据。
初始时,所有节点都是独立的,不存在任何连接。小明可以通过网线将两个节点连接起来,连接后两个节点就可以互相通信了。两个节点如果存在网线连接,称为相邻。小明有时会测试当时的网络,他会在某个节点发送一条信息,信息会发送到每个相邻的节点,之后这些节点又会转发到自己相邻的节点,直到所有直接或间接相邻的节点都收到了信息。所有发送和接收的节点都会将信息存储下来。一条信息只存储一次。
给出小明连接和测试的过程,请计算出每个节点存储信息的大小。

【输入格式】
输入的第一行包含两个整数 n,m,分别表示节点数量和操作数量。节点从1 至 n 编号。
接下来 m 行,每行三个整数,表示一个操作。
如果操作为 1 a b,表示将节点 a 和节点 b 通过网线连接起来。当 a = b 时,表示连接了一个自环,对网络没有实质影响。
如果操作为 2 p t,表示在节点 p 上发送一条大小为 t 的信息。
【输出格式】
输出一行,包含 n 个整数,相邻整数之间用一个空格分割,依次表示进行
完上述操作后节点 1 至节点 n 上存储信息的大小。 
【样例输入】
   4 8
   1 1 2
   2 1 10
   2 3 5
   1 4 1
   2 2 2
   1 1 2
   1 2 4
   2 2 1
【样例输出】
  13 13 5 3
【评测用例规模与约定】
  对于 30% 的评测用例,1 ≤ n ≤ 20,1 ≤ m ≤ 100。
  对于 50% 的评测用例,1 ≤ n ≤ 100,1 ≤ m ≤ 1000。
  对于 70% 的评测用例,1 ≤ n ≤ 1000,1 ≤ m ≤ 10000。
  对于所有评测用例,1 ≤ n ≤ 10000,1 ≤ m ≤ 100000,1 ≤ t ≤ 100。

第十一届蓝桥杯B组Java试题答案(省赛)相关推荐

  1. 2016蓝桥杯b组java试题及答案_2016年第七届蓝桥杯java B组省赛试题

    2016年第七届蓝桥杯java B组省赛试题 1-3.结果填空 4-5.代码填空 6-7.结果填空 8-10.程序设计 1.煤球数目  (结果填空) 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, ...

  2. 第十一届蓝桥杯python组试题解答

    文章目录 第十一届蓝桥杯python组试题解答 门牌制作 寻找2020 跑步锻炼 蛇皮走位 排序 成绩统计 单词分析 数字三角形 平面切分 装饰宝珠 第十一届蓝桥杯python组试题解答 门牌制作 这 ...

  3. 2020年第十一届蓝桥杯JavaC组(十月场)真题解析

    相关题目: 2016年第七届蓝桥杯真题解析JavaB组 2016年第七届蓝桥杯真题解析JavaC组 2017年第八届蓝桥杯真题解析JavaB组 2017年第八届蓝桥杯真题解析JavaC组 2018年第 ...

  4. 蓝桥杯研究生c语言试题答案,蓝桥杯试题_蓝桥杯 你有蓝桥杯历年的试题吗最好有参考答案啊 高职高专组C语言的 有的话麻烦你发给我 万分感谢_淘题吧...

    ❶ 蓝桥杯 你有蓝桥杯历年的试题吗最好有参考答案啊. 高职高专组C语言的 有的话麻烦你发给我 万分感谢 我有真题.但是老师没给答案 ❷ 为什么蓝桥杯试题集评测老是错 楼上的网友说的很简单,实际上因为每 ...

  5. 第十一届蓝桥杯 b组

    答案:3880 代码: package 第十一届蓝桥杯;public class Main01 {public static void main(String[] args) {int t = 100 ...

  6. 第十一届蓝桥杯大赛(2020年)软件类省赛第二场 Python大学组 真题+个人解答

    试题A:门牌制作 本题总分:5分 [问题描述] 小蓝要为一条街的住户制作门牌号. 这条街一共有2020位住户,门牌号从1到2020编号. 小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将 ...

  7. 蓝桥杯大学组python试题_第十届蓝桥杯2019年C/C++ 大学A组省赛试题

    2019年蓝桥杯第十届软件类省赛 C/C++ 大 学 A 组 试题 A: 平方和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包括 1 ...

  8. 2015蓝桥杯b组java_Java实现第十一届蓝桥杯JavaB组 省赛真题

    试题 A: 指数计算 本题总分:5 分 [问题描述] 7 月1日是建党日,从1921年到2020年, 已经带领中国人民 走过了 99 年. 请计算:7 ^ 2020 mod 1921,其中A mod ...

  9. 蓝桥杯单片机国赛客观题_第十一届蓝桥杯青少年组Scratch竞赛规则与样题

    注意:文末邮福利哦!!! 竞赛时长:Scratch编程组竞赛的选拔赛.省赛及国赛,竞赛时长均为90分钟. 竞赛形式:一人一机,(比赛中 WIFI 网络关闭)选手自带笔记本电脑,电脑上提前预装Scrat ...

最新文章

  1. Go 分布式学习利器(12)-- Go语言的扩展和复用
  2. 多元经验模态分解_【Applied Energy最新原创论文】一个基于多元搜索引擎数据的多尺度油价预测方法...
  3. Qt/Qte/Qtopia三者的区别
  4. java 常量存储_JAVA 存储空间 寄存器 堆栈 堆 常量存储 非RAM存储
  5. 662. 二叉树最大宽度
  6. python random函数_Python随机函数random使用详解
  7. mysql5.7.17主从_mysql5.7.17主从同步配置
  8. 使用log4net记录日志到数据库(含有自定义属性)
  9. ospf避免环路_【网络干货】超全的OSPF路由协议技术汇总解析
  10. 调用html模板帝国cms,帝国CMS模板制作中常用的调用变量简单整理
  11. 常用Python文件
  12. 各个浏览器显示版本(IE,火狐)
  13. MySql中的count函数
  14. 【渝粤题库】陕西师范大学180213《消费经济学》作业 (高起本)
  15. 用java做出长方体的表面积_Android Studio实现长方体表面积计算器
  16. 关系网络lbs的应用_基于智能移动端的LBS+地图应用可以 说是LBS营销的核心模式,也是LBS营销的基础...
  17. qt 使用msvc 打断点无反应解决办法
  18. 中科院信工所雏鹰团队在SemEval上大显神威
  19. 口碑营销:如何让传统行业的电商引发口碑效应并营销
  20. 三页搞定GB2818/SIP/RTP、PS封装

热门文章

  1. CentOS——nfs服务
  2. Linux inode、block、文件类型、软硬链接等相关文件的知识
  3. APISpace 未来7天生活指数API接口 免费好用
  4. windows下载安装opencv
  5. 项目经理如何更好的理清和管理项目需求?
  6. 跟我学 UML 系统建模
  7. VMware Workspace ONE UEM安装部署
  8. js 在一个日期上面加上指定时间(几小时、几分钟、几秒)
  9. Windows WSL2 安装Nvidia-Docker GPU 驱动Paddlepaddle
  10. PHP后端生成签名后uniapp前端直传华为云OBS记录