- 博客(11)
- 收藏
- 关注
原创 第十二届蓝桥杯省赛 Java B组 试题 G: 最少砝码
一、问题描述你有一架天平。现在你要设计一套砝码,使得利用这些砝码可以称出任意小于等于 N 的正整数重量。那么这套砝码最少需要包含多少个砝码?注意砝码可以放在天平两边。输入包含一个正整数 N。输出一个整数代表答案。73二、解析用贪心的思想来解决这个问题:尽可能在增加砝码时使得砝码的重量最大。要称重量为 1,需要砝码 1重量为 2,增加砝码 3(使增加的砝码尽可能的大,所以不是 1 和 2 )1 3 可以同时称 ‘1’=1,‘2’+1=3,‘3’=3,‘4’=3+1 ;
2021-11-27 15:11:06
1095
1
原创 2015 Java B组 省赛部分解析及总结
目 录三、三羊献瑞三、三羊献瑞观察下面的加法算式:其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。【解析】:*个位数相加减最多只能进 1a 和 e 即使是 9 ,也只能进 1,所以 e =1,a = 9;b + f 进 f ,f 只能为 0 ,所以 f = 0;c + g > 10;c = b+1;还剩b、d、g、ipublic static void main(String[] ar
2021-11-25 16:13:10
290
原创 记录结果再利用的 “功态规划”
目 录一、记忆化搜索与动态规划#01 背包问题一、记忆化搜索与动态规划#01 背包问题n = 4(w, v) = { (2, 3), (1, 2), (3, 4) , (2, 2) }W = 57(选择第0 、1 、3 号物品)【解析】第一步:先写限制条件,本题有两个(遍历到底,重量不能超过 W )。遍历到底,回溯;重量static int n;static int[] w=new int[100],v=new int[100];public static void
2021-11-21 16:36:21
355
原创 2014 Java B组 省赛部分解析及总结
目 录三、猜字母三、猜字母把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。【解析】:模拟构建StringBuilder并初始化注意每删除一个数下标会发生变化找到规律后写出循环StringBuilder sb=new StringBuilder();for(int i=1;i<=106
2021-11-14 14:06:49
2135
原创 2013 Java B组 省赛解析及总结
目 录一、世纪末的星期二、马虎的算式一、世纪末的星期标题: 世纪末的星期未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?请回答该年份(只写这个4位整数,不要写12月31等多余信息)【解析】:使用Calendar类构造日历,遍历找到12月为31的是星期天的那一年 Calendar calendar=Calendar.getInstance();for(int i=1999;i<5000;i+=100) { calendar.set(Cal
2021-10-31 22:12:17
213
原创 最基础的“穷竭搜索”“
递归函数//计算斐波那契数列的函数int fib(int n){ if(n <= 1) return n; return fib(n-1) + fib(n-2)}实际使用时,即使是 fib(40) 这样n较小时的结果,也要花费 相当长的时间;在这个斐波那契数列中,如果 fib(n) 的n是一定的,多次调用都会得到同样的结果。如果计算一次之后,用数列储存起来,便可优化之后的计算。这种方法是出于记忆化搜索或者动态规划的想法。栈(Stack)和 队列(Queue)栈(Stack
2021-10-29 20:57:31
414
原创 题解 - 暴力、枚举、模拟
题解 - 暴力、枚举、模拟01 - 单词分析题目样例思路代码02 - 四平方和题目样例思路代码03 - 特别数的和题目样例思路代码04 - 旋转题目样例思路代码01 - 单词分析题目给了一个单词,找到出现最多的字母和这个字母出现的次数。样例longlonglongistoolongo6思路数组下标具有实际意义:下标代表字母,元素代表该字母出现的次数常用ASCII码:A:65 —— a:97 —— 0:48代码public static void main(Strin
2021-10-27 19:35:23
727
原创 第1章 位运算的奇巧淫技
位运算的规则:异或的性质:x^x = 0, x^0 = x自反性:A^B^B = A^0=A,连续喝同一个因子做异或运算,最终结果为自己。题解找出唯一成对的数1-1000这1000个数放在10001个元素的数组中,只有唯一的一个元素值重复,其他均只出现一次。每个数组元素只能访问一次,设计一个算法,将他找出来;不用辅助存储空间,能否设计一个算法实现?// 数组中每个数都互相进行异或运算。相同数会被消除(x^x = 0, x^0 = x)for (int i = 0; i < a
2021-10-26 23:54:38
107
原创 竞赛常用API
String、StringBuilder、StringBufferstr.length(); 返回字符串的长度str.charAt(int index); 返回指定位置的字符str.indexOf(String s); 返回s在字符串的位置,没找到返回-1str.trim(); 返回将原字符串前导和尾随空格删除的字符串str.contains(String str); 如果包含str返回truestr.replaceFirst(str1, str
2021-10-24 11:13:03
222
原创 基础练习 - 笔记和题解
题目BASIC-4 数列特征BASIC-5 查找整数BASIC-4 数列特征给出n个数,找出这n个数的最大值,最小值,和。//方法一 if (num >= max || i==0) max = num; if (num <= min || i==0) min = num;//方法二 int max=-999999; int min=999999;BASIC-5 查找整数给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。 int temp=arr.i
2021-10-23 11:19:09
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人