- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 2021 第十二届蓝桥杯 Java B组 (第一场)真题解析
A. ASC(5分)已知大写字母 AAA 的 ASCIIASCIIASCII 码为 656565,请问大写字母 LLL 的 ASCIIASCIIASCII 码是多少?这题当时看到以为今年题会很水,没想到后面????答案:76代码:public class Main { public static void main(String[] args) { // 76 System.out.println((int)'L'); }}B:卡片(5分)小蓝有很多数字卡片,每张卡片上
2021-05-06 14:54:36
1996
4
原创 数论-----------高斯消元
输入一个包含n个方程n个未知数的线性方程组。方程组中的系数为实数。求解这个方程组。下图为一个包含m个方程n个未知数的线性方程组示例:输入格式第一行包含整数n。接下来n行,每行包含n+1个实数,表示一个方程的n个系数以及等号右侧的常数。输出格式如果给定线性方程组存在唯一解,则输出共n行,其中第i行输出第i个未知数的解,结果保留两位小数。如果给定线性方程组存在无数解,则输出“Infinite group solutions”。如果给定线性方程组无解,则输出“No solution”。数.
2021-02-22 11:17:44
483
1
原创 Acwing每日一题----------货币系统
给定 V 种货币(单位:元),每种货币使用的次数不限。不同种类的货币,面值可能是相同的。现在,要你用这 V 种货币凑出 N 元钱,请问共有多少种不同的凑法。输入格式第一行包含两个整数 V 和 N。接下来的若干行,将一共输出 V 个整数,每个整数表示一种货币的面值。输出格式输出一个整数,表示所求总方案数。数据范围1 ≤ V ≤ 25,1 ≤ N ≤ 10000输入样例:3 101 2 5输出样例:10背包问题原型状态表示: f[i][j] 表示 从前i种货币中选,且总价.
2021-01-23 20:56:38
433
原创 算法基础 (14)区间合并
给定 n 个区间 [li,ri],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3]和[2,6]可以合并为一个区间[1,6]。输入格式第一行包含整数n。接下来n行,每行包含两个整数 l 和 r。输出格式共一行,包含一个整数,表示合并区间完成后的区间个数。数据范围1 ≤ n ≤ 100000,−10^9 ≤ li ≤ ri ≤ 10^9输入样例:51 22 45 67 87 9输出样例:3区间合并算法分析将.
2021-01-23 15:58:58
424
原创 算法基础 (13)离散化
假定有一个无限长的数轴,数轴上每个坐标上的数都是0。现在,我们首先进行 n 次操作,每次操作将某一位置x上的数加c。接下来,进行 m 次询问,每个询问包含两个整数l和r,你需要求出在区间[l, r]之间的所有数的和。输入格式第一行包含两个整数n和m。接下来 n 行,每行包含两个整数x和c。再接下里 m 行,每行包含两个整数l和r。输出格式共m行,每行输出一个询问中所求的区间内数字和。数据范围−109 ≤ x ≤ 10^9,1 ≤ n, m ≤ 10^5,−10^9 ≤ l ≤ r .
2021-01-23 15:49:16
358
原创 算法基础 (12)位运算
给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。输入格式第一行包含整数n。第二行包含n个整数,表示整个数列。输出格式共一行,包含n个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中1的个数。数据范围1 ≤ n ≤ 100000,0 ≤ 数列中元素的值 ≤ 10^9输入样例:51 2 3 4 5输出样例:1 1 2 1 2位运算的lowbit操作适用场景:求出某个数二进制第k位是几先把第k位移到最后一位(n >> k).
2021-01-23 15:12:20
198
1
原创 算法基础 (11)双指针
给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0~100000范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1 ≤ n ≤ 100000输入样例:51 2 2 3 5输出样例3双指针算法分析首先说一下双指针算法的应用场景如果找到i和’j’是单调关系,那么就可以用双指针算法对于一个序列,用两个指针维护一段区间对于两个序列,维护某种.
2021-01-23 13:47:23
179
原创 算法基础 (10)差分
输入一个长度为n的整数序列。接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数序列。接下来m行,每行包含三个整数l,r,c,表示一个操作。输出格式共一行,包含n个整数,表示最终序列。数据范围1 ≤ n, m ≤ 100000,1 ≤ l ≤ r ≤ n,−1000 ≤ c ≤ 1000,−1000 ≤ 整数序列中元素的值 ≤ 1000输.
2021-01-23 13:03:29
273
原创 Acwing每日一题----------棋盘游戏
给定一个 N×N 的棋盘,请你在上面放置 N 个棋子,要求满足:每行每列都恰好有一个棋子每条对角线上都最多只能有一个棋子 1 2 3 4 5 6 -------------------------1 | | O | | | | | -------------------------2 | | | | O | | | -------------------------3 | | | | | | O.
2021-01-22 15:41:32
290
原创 算法基础 (9)前缀和
输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。输出格式共m行,每行输出一个询问的结果。数据范围1 ≤ l ≤ r ≤n,1 ≤ n,m ≤ 100000,−1000 ≤ 数列中元素的值 ≤ 1000输入样例:5 32 1 3 6 41 21 32 4输出样例:.
2021-01-22 15:05:00
224
原创 算法基础 (8)高精度除法
给定两个非负整数A,B,请你计算 A / B的商和余数。输入格式共两行,第一行包含整数A,第二行包含整数B。输出格式共两行,第一行输出所求的商,第二行输出所求余数。数据范围1 ≤ A的长度 ≤ 100000,1 ≤ B ≤ 10000B 一定不为0输入样例:72输出样例:31高精度除法算法分析同样采取逆序存储(具体原因见高精度加法)模拟除法规则,从高位到底位与除数进行相除,除得的余数放入t中,则此位的数为t / 10.把剩余的t % 10给下一个底位若遍历完整个A,.
2021-01-22 14:38:58
639
3
原创 算法基础 (7)高精度乘法
给定两个正整数A和B,请你计算A * B的值。输入格式共两行,第一行包含整数A,第二行包含整数B。输出格式共一行,包含A * B的值。数据范围1 ≤ A的长度 ≤ 100000,0 ≤ B ≤ 10000输入样例:23输出样例:6高精度乘法算法分析同高精度加法与减法相同,都采用逆序存储。因为B的数据范围是10^5以内所以可以用A的每一位去乘b模拟乘法规则,从A的个位到高位与B相乘,乘得的结果放入t中,则此位的数为t % 10.把t / 10剩余给下一个高位若遍历完整个.
2021-01-22 14:06:02
358
原创 算法基础 (6)高精度减法
给定两个正整数,计算它们的差,计算结果可能为负数。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的差。数据范围1 ≤ 整数长度 ≤ 10^5输入样例:3211输出样例:21高精度减法算法分析同高精度加法一样,进行减法运算同样需要逆序存储,从前往后比从后往前好算在进行减法运算之前先比较两个数的大小,遵循大数减小数模拟减法规则,从个位到高位进行相减,若个位不够减则向上一个高位借1sub(A,B)函数中,C = A - B, 若A >= B 则求A - B,.
2021-01-22 13:48:17
470
原创 算法基础 (5) 高精度加法
给定两个正整数,计算它们的和。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的和。数据范围1 ≤ 整数长度 ≤ 100000输入样例:1223输出样例:35高精度加法算法分析首先要将输入的字符串逆序存入List中,因为从前往后好算,进位只需要在最后一位加上1,如果是按照小学列竖式进行计算那么就要在第一位之前加上1,这样操作十分麻烦,所以就逆序存储进行加法运算在进行加法运算时遍历list集合每次取出一位进行加法运算,t为进位,A[i] + B[i] + t就是后一.
2021-01-22 13:16:27
1135
原创 算法基础 (4) 浮点数二分
给定一个浮点数n,求它的三次方根。输入格式:共一行,包含一个浮点数n。输出格式:共一行,包含一个浮点数,表示问题的解。注意,结果保留6位小数。数据范围:−10000 ≤ n ≤ 10000输入样例:1000.00输出样例:10.000000浮点数二分主要思想浮点数二分没有整数二分那么复杂,由边界条件的判断唯一注意的就是如果数据范围是10^5那么在循环时候应该是r - l > 1e-7如果数据范围是10^7那么循环时应是r - l > 1e-9这样精度保证不会出错.
2021-01-22 11:49:53
306
1
原创 算法基础 (3) 整数二分
给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。输入格式:第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组。接下来q行,每行包含一个整数k,表示一个询问元素。输出格式:共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数组中不存在该元素,则返回“-1 -1”。数据范围:1 ≤ n ≤ 1.
2021-01-22 11:38:33
145
原创 算法基础 (2) 归并排序
归并排序主要思想是分治每次取中间点mid = l + r >> 1递归排序从0到mid和mid + 1到r归并操作的时候首先用两个指针分别指向左右两个数组中的最小值比较谁更小,更小的放在答案数组的第一位放入的指针往后走,在继续比较直至某数组到头,另一数组的剩余部分直接接入答案数组时间复杂度: O(nlogn)import java.util.Scanner;public class MergeSort { public static void main(Stri
2021-01-21 11:35:08
153
1
原创 Acwing每日一题----------平方矩阵
题目描述:输入整数N,输出一个N阶的二维数组。数组的形式参照样例。输入格式:输入包含多行,每行包含一个整数N。当输入行为N=0时,表示输入结束,且该行无需作任何处理。输出格式:对于每个输入整数N,输出一个满足要求的N阶二维数组。每个数组占N行,每行包含N个用空格隔开的整数。每个数组输出完毕后,输出一个空行。数据范围:0 ≤ N ≤ 100输入样例:123450输出样例:11 22 11 2 32 1 23 2 11 2 3 42 1 2 33.
2021-01-21 10:53:01
242
原创 Acwing寒假每日一题----------十三号星期五
题目描述:十三号星期五真的很不常见吗?每个月的十三号是星期五的频率是否比一周中的其他几天低?请编写一个程序,计算 N 年内每个月的 13 号是星期日,星期一,星期二,星期三,星期四,星期五和星期六的频率。测试的时间段将会开始于 1900 年 1 月 1 日,结束于 1900+N−1 年 12 月 31日。一些有助于你解题的额外信息:1900 年 1 月 1 日是星期一。在一年中,4 月、6 月、9 月、11 月每个月 30 天,2 月平年 28 天,闰年 29 天,其他月份每个月31天。.
2021-01-20 15:16:16
249
原创 Acwing寒假每日一题----------找硬币
题目描述伊娃喜欢从整个宇宙中收集硬币。有一天,她去了一家宇宙购物中心购物,结账时可以使用各种硬币付款。但是,有一个特殊的付款要求:每张帐单,她只能使用恰好两个硬币来准确的支付消费金额。给定她拥有的所有硬币的面额,请你帮她确定对于给定的金额,她是否可以找到两个硬币来支付。输入格式:第一行包含两个整数 N 和 M,分别表示硬币数量以及需要支付的金额。第二行包含 N 个整数,表示每个硬币的面额。输出格式:输出一行,包含两个整数 V1,V2,表示所选的两个硬币的面额,使得 V1≤V2 并且 V.
2021-01-19 13:22:55
156
原创 算法基础 (1) 快速排序
快速排序算法可以分为三个步骤:确定分界点:q [ l ] 或 q [ r ] 或 q [ ( l + r ) / 2 ]调整区间:保证x左边是 <= x的, 右边是 >= x的递归处理左右两段import java.util.Scanner;public class Main { static int[] q; public static void main(String[] args) { Scanner sc = new Scanner(Sys
2021-01-18 11:04:51
123
3
原创 基础数据结构之单调队列
学单调队列必写的题:滑动窗口题目描述给定一个大小为n≤1e6的数组。有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。您只能在窗口中看到k个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为[1 3 -1 -3 5 3 6 7],k为3。窗口位置 最小值 最大值[1 3 -1] -3 5 3 6 7 -1 31 [3 -1 -3] 5 3 6 7 -3 31 3 [-1 -3 5] 3 6 7 -3 51 3
2020-06-06 11:13:54
189
原创 基础数据结构之单调栈
题目描述给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出-1。输入格式第一行包含整数N,表示数列长度。第二行包含N个整数,表示整数数列。输出格式共一行,包含N个整数,其中第i个数表示第i个数的左边第一个比它小的数,如果不存在则输出-1。数据范围1≤N≤1051≤数列中元素≤109样例输入样例:53 4 2 7 5输出样例:-1 3 -1 2 2算法一(模拟栈)时间复杂度: O(n)#include<iostream>using
2020-06-06 11:00:48
205
转载 由数据范围反推算法复杂度以及算法内容
一般ACM或者笔试题的时间限制是1秒或2秒。计算机在1s内计算次数大概在10^7 ~ 10 ^ 8之间在这种情况下,C++代码中的操作次数控制在 10^7 为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:1. n≤30n≤30, 指数级别, dfs+剪枝,状态压缩dp2. n≤100n≤100 => O(n3)O(n3),floyd,dp3. n≤1000n≤1000 => O(n2)O(n2),O(n2logn)O(n2logn),dp,二分4. n≤1000
2020-05-09 20:18:38
131
原创 全民飞机大战
记录一下自己的第一个小项目://Mainimport javax.swing.*;public class Main extends JFrame { public Main(){ setSize(450,700); setTitle("太空飞机大战"); setResizable(false); setLocatio...
2020-04-27 09:19:03
308
原创 全球变暖(BFS)
全球变暖你有一张某海域 N×N 像素的照片,”.”表示海洋、”#”表示陆地,如下所示:….##….##……##.…####.…###.…其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就...
2020-04-15 20:38:04
817
原创 2020-3-13 第十届蓝桥杯校内模拟赛
A题题目:在计算机存储当中, 15.125GB是多少MB?分析:水题,15.125*1024=15448B题题目:1200000 有多少个约数, 限制正约数?分析:水题。。答案96C题:题目:一颗包含2019个结点的树, 最多包含多少个叶结点?分析:再细品一下, 没说二叉树, 那就一个根节点, 2018 个叶子结点吧。D题:题目:1~2019有多少个数包含9?分析:...
2020-03-15 12:50:05
531
原创 第十届蓝桥杯 C组人物相关性分析
试题 H: 人物相关性分析时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分【问题描述】小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice 和 Bob 有多少次同时出现。 更准确的说,小明定义 Alice 和 Bob“同时出现”的意思是:在小说文本 中 Alice 和 Bob 之间不超过 K 个字符。 例如以下文本: ThisisastoryaboutAlic...
2020-03-05 16:13:45
1157
5
如何高质量的走完计算机硕士3年,冲击20-30w的offer
2023-03-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人