![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
文章平均质量分 56
云夜OVO
欲买桂花同载酒,终不似,少年游
展开
-
枚举题的做法思路总结
本文主要介绍算法题里面枚举题的做法思路,希望每天都能进步枚举题的做法思路一、什么是枚举以及枚举的优化策略?二、例题及思路1.[四平方和](https://www.acwing.com/problem/content/description/1238/)2.[递增三元组](https://www.acwing.com/problem/content/description/1238/)总结:`一、什么是枚举以及枚举的优化策略?枚举就是说通过一一列举每一种答案的可能情况,每一次枚举的时候判断当前的.原创 2022-04-05 11:45:23 · 2357 阅读 · 0 评论 -
【蓝桥杯】备战系列之基础算法----双指针算法总结及其经典例题
双指针算法顾名思义,双指针算法是定义两个功能方面类似于指针的循环变量来解决一些问题。通常是两个变量一前一后(方向相同)或者相撞(方向相反)文章目录双指针算法前言一、双指针算法如何用(模板)2.经典例题蓝桥杯真题:日志统计1,解题思路:2,代码:前言在做题的过程中,许多时候像我这样的小白缺乏思路或者是把思路转化为代码的能力,因此以后需要多多的总结以及完善。一、双指针算法如何用(模板)这里的话是定义了两个指针,i在前,j在后,顺序可以任意for(int i=0;j=0;i<n;i++)原创 2022-03-29 19:03:47 · 142 阅读 · 2 评论 -
【蓝桥杯】备战系列之基础篇--动态规划思想及其经典例题
当一个问题可以分解为各种不同的子问题的时候,我们可以一步一步求子问题的解,最后再求原问题。1,如何用动态规划做题:(思路)做有关动态规划的题是分为两步:(1)状态表示什么意思呢?就是说首先需要判断该DP问题是一维还是二维,假设是二维,设为f[i][j],这时需要明确状态数组f表示的是什么。首先要看题目,题目问的啥就是什么,然后看该集合表示的是什么属性,比如是最大值,最小值,还是种数或者个数等。(2)状态计算首先需要看所有方案的集合该如何划分,这里有个标准就是说看最后一个不同点。原创 2022-03-11 23:26:20 · 246 阅读 · 0 评论 -
【蓝桥杯】备战系列之基础篇----Huffman树(优先队列)
问题描述Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下:1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa+ pb。2. 重复步骤1,直到{pi}中只剩下一个数。 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用。 本题任务:对于给定的一个数列,现在请.原创 2022-02-07 12:15:23 · 87 阅读 · 0 评论 -
高精度算法 (c++)
关于输入的数据比long long类型的还要大的时候,需要用到字符串存储数据,这里介绍关于高精度加法以及高精度乘法的一些思路及代码。首先思路是输入两个高精度吧数到两个字符串中,采用动态数组vector来存储字符转换成的数字,然后再分别遍历整个数组,每一次把两个数对应位置的数以及上一位产生的进位相加,最后输出结果。详细代码如下:#include<iostream>#include<string>#include<vector>using namespac原创 2022-01-17 14:47:16 · 1483 阅读 · 0 评论 -
【蓝桥杯】备战系列之基础题3.十六进制转十进制,十进制转十六进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。题目中要求用字符串表示十六进制整数,由于该十六进制数不超过八位,而int型变量的最大值为2^31-1,为2147483647,一个十位数,long long型数据的位数一般为十九位,从-9223372036854775808到9223372036854775807,据题意得该字符串最大为FFFFFFFF,为4294967295,明原创 2022-01-12 18:32:39 · 3536 阅读 · 1 评论 -
【蓝桥杯】备战系列之基础题2.进制转换
本题的大致意思为: 给定n个十六进制正整数,输出它们对应的八进制数在C++中使用 cin,cout输入输出数据的时候,默认为十进制数,输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。由于题目给出的提示很明显,即把十六进制转化为二进制,再把二进制转化为八进制,最后输出即可。所以思路就是原创 2022-01-09 17:19:45 · 4160 阅读 · 0 评论 -
【蓝桥杯】备战系列之基础题1.数列排序
本题大致意思是:给一个正整数n,输入n个整数,对这n个整数进行从小到大排序,输出结果。源代码(C++版本)如下#include<iostream>using namespace std;const int N=10010;int a[N];int main(){ int n;cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } for(int i=0;i<n-1;i++) { for(原创 2022-01-09 11:05:52 · 3066 阅读 · 0 评论