自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 LeetCode 2. 两数相加

给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。

2024-04-13 12:09:16 510

原创 LeetCode 1. 两数之和

给定一个整数数组nums和一个整数目标值 target ,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。

2024-04-12 22:30:17 390 1

原创 重建二叉树

记录每个值在中序遍历的位置,这样我们在递归到每个节点时,在中序遍历中查找根节点的位置的操作,只需要。递归建立整棵二叉树先递归创建左右子树,然后创建根节点,并让指针指向两棵子树。输入一棵二叉树前序遍历和中序遍历的结果,请重建该二叉树。此时,创建每个节点需要的时间是。,所以总时间复杂度是。初始化时,用哈希表(...

2022-07-31 00:03:49 253

原创 日期问题常用模板>.<(简单日期问题一网打尽)...

日期问题一网打尽>.<前言近来做蓝桥杯题目,遇到了几次日期问题后,将自己常用的模板和大家分享一下。判断是否为合法日期int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};bool check_valid(int date)//例如20220211{ int year = date/10000; int month = date/100%100; int day = date%100

2022-02-11 18:56:04 808 1

原创 枚举、模拟与排序

AcWing 1210. 连号区间数解题思路:暴力做法:直接枚举所有的可能,两层for循环,再将得到的没组解sort一下,然后用一层for循环判断这组解是否连号,三层循环复杂度大概O(n^3)根据题目数据范围会超时。进行优化考虑将复杂度降到n^2或者nlongn,那就要减少一层循环,判断连号有没有可能优化到O(1)的?由题目可知,给的n个数是1~n的排列,所有没有重复的数字,如果一个序列连号一定存在max-min==r-l,max是这个x序列的最大值,min是这个序列的最小值,r是这个序列

2022-02-09 22:13:27 464

原创 数学知识与简单DP

数学知识AcWing 1205.买不到的数目结论:如果 a,b 均是正整数且互质,那么由 ax+by,x≥0,y≥0 不能凑出的最大数是 ab−a−b。(a-1)*(b-1)-1#include<iostream>using namespace std;int main(){ int n,m; cin>>n>>m; cout<<(n-1)*(m-1)-1<<endl; return 0;}A

2022-02-04 16:20:04 355

原创 二分与前缀和

二分与前缀和AcWing 789. 数的范围#include<iostream>using namespace std;const int N=1e5+10;int q[N];int n,m;int main(){ cin>>n>>m; for(int i=0;i<n;i++) cin>>q[i]; while(m--) { int k; cin>&

2022-02-04 16:19:50 728

原创 蓝桥杯—四平方和

蓝桥杯2016 C/C++B组四平放和不愧是暴力杯 3s运行时间首先来种暴力解法#include <iostream>#include<algorithm>#include<cmath>using namespace std;int main(){ int n; cin>>n; for(int i=0;i*i<=n;i++) for(int j=i;i*i+j*j<=n;j++) for(int k

2022-02-03 22:05:48 453

原创 递归与递推

递归与递推

2022-02-02 22:12:21 224

原创 AcWing算法基础课-双指针

双指针算法模板:for(int i=0,j=0;i<n;i++){ while(j<i && check(i,j)) j++; //具体问题逻辑}常见问题分类:(1):对于一个序列,用两个指针维护一段区间(2):对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作双指针算法核心:优化两个指针暴力求解时间复杂度O(n^2)双指针运用某些单调性质优化后,时间复杂度可变为O(n),因为总体来看两个指针都是遍历序列一次输出单词C++ string

2022-01-31 13:43:52 1238

原创 AcWing算法基础课-二分

二分二分本质是用来查找满足某种性质的边界点在给定区间内,能找到某种性质使得区间分为两部分,一部分满足,另外一部分不满足这种性质。二分可以用来寻找这个性质的边界:满足某种性质的第一个元素;或者是满足某种性质的最后一个元素。从而有两个不同模板注意二分法一定能找到满足某种性质的边界点,但它不一定是你要找的目标...

2022-01-30 20:25:32 910

原创 蓝桥杯—三角形面积

蓝桥杯2021 模拟赛三角形面积【题目描述】给定一个三角形的底边长度 l和高度 h,求三角形的面积。【输入描述】输入的第一行包含一个整数 ll,表示三角形的底边长度。第二行包含一个整数 hh,表示三角形的高。其中,1<=l,h<=100【输出描述】输出一个数,表示三角形的面积。如果面积为整数,请直接输出这个整数,不带小数点。如果面积不是整数,请四舍五入保留正好一位小数。输入56输出15#include <iostream>using namespace

2022-01-30 17:41:20 604

原创 蓝桥杯—最短路

蓝桥杯2019 省赛最短路【题目描述】本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。如下图所示,G 是一个无向图,其中蓝色边的长度是 1、橘色边的长度是 2、绿色边的长度是 3。则从 AA 到 SS 的最短距离是多少?【题目分析】最短路问题,填空题可以看着图直接数出来 用迪杰斯特拉解决单源最短路(权值为正数)#include <iostream>#include <algorithm>#include <cstring&

2022-01-26 21:51:23 3004

原创 1105 迷宫问题

【题目描述】设有一个N*N方格的迷宫,入口和出口分别在左上角和右上角。迷宫格子中分别放有0和1,0表示可通,1表示不能,迷宫走的规则如下图所示:即从某点开始,有八个方向可走,前进方格中数字为0时表示可通过,为1时表示不可通过, 要另找路径。找出一条从入口(左上角)到出口(右上角)的路径(每个格子只能走一次)。【输入格式】只有一组输入数据。输入如下面样例,且1<N<15【输出格式】输出可行的路径总数。如果无法到达,输出0。【输入样例】30 0 00 1 11 0 0【输出

2022-01-25 22:15:35 869

原创 蓝桥杯—特别数的和

蓝桥杯2019 C/C++B组特别数的和【题目描述】小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和40,共 28 个,他们的和是 574。 请问,在 1 到 n 中,所有这样的数的和是多少?【输入格式】输入一行包含整数 n(1≤n≤1e4 )【输出描述】输出一行,包含一个整数,表示满足条件的数的和。示例输入40输出574#include <iostream>using na

2022-01-23 20:38:47 1341 1

原创 AcWing杯-第35场周赛

4212. 字符串比较给定两个长度相等的由大小写英文字母构成的字符串 A 和 B。请你按照字典顺序对这两个字符串进行比较。注意,在进行比较时,字母的大小写无关紧要,即大写字母被认为等同于相应的小写字母。输入格式第一行,字符串 A。第二行,字符串 B。输出格式如果 A>B,则输出 1,如果 A<B,则输出 −1,如果 A=B,则输出 0。数据范围所有测试点满足,1≤|A|,|B|≤100。输入样例1:aaaaaaaA输出样例1:0输入样例2:absAbz输出样

2022-01-23 14:42:19 238

原创 蓝桥杯—迷宫

蓝桥杯2017 C/C++A组迷宫【题目描述】本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。X 星球的一处迷宫游乐场建在某个小山坡上。它是由 10×10 相互连通的小房间组成的。房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:L 表示走到左边的房间,R 表示走到右边的房间,U 表示走到上坡方向的房间,D 表示走到下坡方向的房间。X 星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此!开始的时候,直升机把 10

2022-01-22 15:14:25 2878

原创 AcWing算法基础课-位运算

位运算位运算基础&:按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0|:按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^:按位异或若参加运算的两个二进制位值相同则为0,否则为1~:取反~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0<<:左移用来将一个数的各二进制位全部左移N位,右补0>>:右移将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数, 高位补0第k位数数

2022-01-20 17:15:52 256

原创 数学概念定理(持续总结篇)

目录整除互质(互素)欧拉函数整除:若整数b除以非零整数a,商为整数,且余数为零,我们就说b能被a整除(或说a能整除b),b为被除数,a为除数即a|b(“|”是整除符号),读作“a整除b”或“b能被a整除”。a叫做b的约数(或因数),b叫做a的倍数。整除属于除尽的一种特殊情况。互质(互素):互质是公约数只有1的两个整数,叫做互质整数、公约数只有1的两个自然数,叫做互质自然数,后者是前者的特殊情形。欧拉函数:在数论,对正整数n,欧拉函数是小于等于n的正整数中与n互质的数的数目

2022-01-20 14:51:12 368

原创 BASIC-16 分解质因数

试题 基础练习 分解质因数问题描述求出区间[a,b]中所有整数的质因数分解。输入格式输入两个整数a,b。输出格式每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)样例输入3 10样例输出(符号与数字之间没有空格)3=34=2* 25=56=2* 37=78=2* 2* 29=3* 310=2* 5提示 :先筛出所有素数,然后再分解。数据规模和约定 2<=a<=b<=1000

2022-01-19 15:26:24 250

原创 蓝桥杯—既约分数

蓝桥杯2020 C/C++ B组既约分数【题目描述】如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数。例如,3/4,5/2,1/8,7/1都是既约分数。请问,有多少个既约分数,分子和分母都是1到2020之间的整数(包括1和2020)?【题目分析】枚举,最大公约数等于1符合题意#include <iostream>using namespace std;int gcd(int a,int b){ return b?gcd(b,a%b):a;}int

2022-01-17 16:04:37 497

原创 蓝桥杯—饮料换购

蓝桥杯2015 C/C++ A组饮料换购【题目描述】乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。【输入描述】输入一个整数 n(0<n<1000)n(0<n<1000),表示开始购买的饮料数量。【输出描述】输出一个整数,表示实际得到的饮料数输入输出样

2022-01-15 21:30:24 284

原创 1097 数的计数

【题目描述】我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理1、不作任何处理;2、在它的左边加上一个自然数,但该自然数不能超过原数的一半;3、加上数后,继续按此规则进行处理,直到不能再立生自然数为止。【输入格式】为一行,一个整数n。【输出格式】为一行,满足条件数的个数输入样例6输出样例6数据范围与提示提示:对于样例,满足条件的数为,6,16,26,126,36,136【题目分析】可以列

2022-01-14 16:11:45 279

原创 蓝桥杯—等差素数列

蓝桥杯2017 C/C++B组等差素数列【题目描述】2,3,5,7,11,13,…是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。 2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索: 长度为10的等差素数列,其公差最小值是多少?注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。【题目分析】

2022-01-14 14:17:30 649

原创 Acwing算法基础课-排序(快速排序、归并排序)

基础算法快速排序模板:void quick_sort(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]//(l+r)/2 while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x);

2022-01-13 22:07:15 250

原创 BASIC-8 回文数

试题 基础练习 回文数问题描述1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式按从小到大的顺序输出满足条件的四位十进制数。枚举:#include <iostream>using namespace std;int main(){ for (int i = 1; i < 10; i++) for (int j = 0; j < 10; j++) for (int k = 0; k < 10; k

2022-01-11 20:57:33 353

原创 1166 求矩阵两条对角线元素之和(模拟2)

【题目描述】现有一个n*n(n最大为10)的整数矩阵,n的值通过键盘输入确定,设计一个程序输入矩阵中的各元素值,计算矩阵中两条对角线上所有元素的和并输出。【输入格式】输入有多组样例。 首先输入一个n, 然后输入一个n*n的矩阵。【输出格式】输出和。 提示:当n为奇数时两条对角线存在一个交叉元素,在计算时需避免交叉元素的重复计算。【输入样例】21 23 431 2 31 2 31 2 3【输出样例】1010下面的代码注释部分,是我当时一直考虑重复,实际上在输入时候

2022-01-10 21:03:05 1338

原创 1094 编写函数判别一个数是否是质数

【题目描述】编写函数判断一个数是否是质数,在主程序中实现输入输出。【输入格式】输入包含一系列的a一个a占一行。【输出格式】对于输入的每个a,你需要依次输出对a的判断。 如对于输入中的第二个a,在输出中对a的判断应该也在第二行。输入样例63输出样例6不是质数3是质数#include <iostream>using namespace std;bool Prime(int n){ bool flag = true; if (n <= 1)

2022-01-10 17:42:16 904

原创 蓝桥杯—奇怪的比赛

【题目描述】某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。每位选手的起步分都是10分,某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?如果把答对的记为1,答错的记为0,则10个题目的回答情况可用仅含1和0的串来表示,如0010110011就是可能的情况。你的任务是算出所有可能情况,每

2022-01-09 20:52:16 281

原创 蓝桥杯—微生物增殖

蓝桥杯2012 C/C++B组微生物增殖【题目描述】假设有两种微生物X和Y,X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,且从此开始每隔1分钟吃掉1个Y。已知新出生的X=10,Y=89,求60分钟后Y的数目。若X=10,Y=90呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只Y就是最终导致Y种群灭绝的最后一根稻草!【

2022-01-07 21:22:04 518

原创 4311 编写递归函数getPower计算x的y次方

【题目描述】编写递归函数getPower计算x的y次方,在同一个程序中针对整型和实型实现两个重载的函数(当y<0时,返回0):int getPower(int x, int y); //整型版本double getPower(double x, int y); //实型版本在主程序中实现输入输出,分别输入一个整数a和一个实数b作为底数,再输入一个整数m作为指数,输出a的m次方和b的m次方。【输入格式】输入包含一系列的a、b和m对,通过空格隔开。一对a、b和m占一行。【输

2022-01-07 19:57:12 3382

原创 蓝桥杯—合并检测

蓝桥杯2020 C/C++ B组合并检测【题目描述】新冠疫情由新冠病毒引起,最近在 A 国蔓延,为了尽快控制疫情, A 国准备给大量民众进病毒核酸检测。 然而,用于检测的试剂盒紧缺。为了解决这一困难,科学家想了一个办法:合并检测。即将从多个人( k 个)采集的标本放到同一个试剂盒中进行检测。如果结果为阴性,则说明这 k个人都是阴性,用一个试剂盒完成了 k 个人的检测。如果结果为阳性,则说明至少有一个人为阳性,需要将这 k个人的样本全部重新独立检测(从理论上看,如果检测前 k−1 个人都是阴性可以推

2022-01-06 21:32:50 413

原创 算法基础—递归(一)

递归(一)递归的基本概念▲一个函数调用其自身,就是递归●求n!的递归函数#include <iostream>using namespace std;int Factorial(int n){ if (n == 0) return 1; else return n * Factorial(n - 1);}int main(){ cout << Factorial(3) << endl; return 0;}结果:6递归和普通函

2022-01-06 15:26:47 310

原创 蓝桥杯—方程整数解

蓝桥杯2015 C/C++ A组方程整数解【题目描述】方程: a^2 + b^2 + c^2 = 1000 这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。你能算出另一组合适的解吗? 请填写该解中最小的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。【题目分析】枚举,很容易确定一个范围,进行穷举即可#include <iostream>#include <cmath>using namespace std;int m

2022-01-05 21:36:52 266

原创 4319 空气水瓶换汽水

【题目描述】某商店规定:三个空汽水瓶可以换一瓶汽水。小王手上有十个空汽水瓶,她最多可以换多少瓶汽水喝? 答案是5瓶。方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。问:如果你手上有x个空汽水瓶,最多可以换多少瓶汽水喝?【输入格式】第一个整数X(X<10),X表示组数,每组数据包含一个整数n(5<n<100),n表示空汽水瓶

2022-01-05 13:04:04 520

原创 4323 等差数列n项值

【题目描述】等差数列是一个很有趣的数列,它的任何相邻两项的差相等。小明给出一个等差数列的前两项 a1, a2,求第 n项是多少。【输入格式】一行,包含三个整数a1, a2, n。-100 ≤a1, a2≤100, 2 < n≤1000【输出格式】 一个整数,即第 n项的值。【输入样例】1 4 100【输出样例】298#include <iostream>using namespace std;int main(){ int a1, a2, n,

2022-01-04 21:44:51 386

原创 4313 反向输出三位数

【题目描述】小红有一个三位数,她想让聪明的你反向输出这个三位数。【输入格式】一个三位数n(99<n<1000)【输出格式】反向输出n,保留前导0【输入样例】123(注意题目没有说明 多组输入)【输出样例】321#include<iostream>using namespace std;int main(){ int a; while( cin >> a) { int b = a

2022-01-04 21:23:50 578

原创 蓝桥杯—纪念日

蓝桥杯2020 C/C++ B组纪念日【题目描述】2020 年 7 月 1 日是中国 共 产 党 成立 99 周年纪念日。 中国 共 产 党 成立于 1921 年 7 月 23 日。 请问从1921 年 7 月 23 日中午 12 时到 2020 年 7 月 1 日中午 12 时一共包含多少分钟?【题目分析】日期问题,用Excel计算相差天数非常方便,当然这道题也非常简单,直接判断是否为闰年,计算1922到2020的天数(注意减去多余的天数),从而计算分钟即可。36138 x 24 x

2022-01-04 13:20:58 1080 1

原创 蓝桥杯—跑步训练

蓝桥杯2020 C/C++ B组跑步训练【题目描述】小明要做一个跑步训练。 初始时,小明充满体力,体力值计为 10000 。如果小明跑步,每分钟损耗 600 的体力。如果小明休息,每分钟增加300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0 ,他就停止锻炼。请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。【题目分析】根据题目条件,进行模拟。(这道题目手

2022-01-03 18:30:20 1451 1

原创 蓝桥杯—猜年龄

蓝桥杯2014 C/C++ A组猜年龄【题目描述】小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。” 请你写出:小明的较小的妹妹的年龄。【题目分析】假设较大的妹妹i岁,较小的妹妹j岁。根据题目得出两个关系:ij=6(i+j),i-j<=8,根据这两个关系,用循环进行穷举。#include <iostream>using namespace std;int m

2022-01-03 16:19:11 338

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除