![](https://img-blog.csdnimg.cn/7ed69e563c0d49149cfa40f4eb7891f5.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法题 (力扣&牛客&洛谷&蓝桥)
文章平均质量分 55
算法题题解 刷题记录
CPT1024
C/C++领域新星创作者
展开
-
2021年蓝桥杯第十二届软件赛省赛 C/C++ 大学B组 第二场 A-I
蓝桥杯题解原创 2022-04-05 13:05:15 · 7680 阅读 · 63 评论 -
【蓝桥杯真题】(三)数论与DP 六道题 学习总结
题解&笔记🌟一、买不到的数目 🌟二、蚂蚁感冒🌟三、饮料换购 🌟四、摘花生🌟五、最长上升子序列🌟六、地宫取宝原创 2022-03-31 19:26:42 · 296 阅读 · 17 评论 -
【蓝桥杯真题】 (一) 递归与递推 (Acwing 蓝桥杯 笔记)
刷题记录 笔记 题解 🌟1、简单斐波那契【入门题】🌟2、Acwing92.递归实现指数型枚举🌟3、Acwing .93. 递归实现组合型枚举🌟4、94. 递归实现排列型枚举🌟5、Awing95. 费解的开关🌟6、带分数🌟7、116. 飞行员兄弟🌟8、1208. 翻硬币原创 2022-03-29 23:17:19 · 1337 阅读 · 34 评论 -
【蓝桥杯真题】word和Excel的简单使用
蓝桥杯省赛 填空题题解原创 2022-03-24 10:18:36 · 7558 阅读 · 63 评论 -
【蓝桥杯专题】双指针 BFS 图论 (C++ | 洛谷 | acwing | 蓝桥)
双指针 日志统计bfs献给阿尔吉侬的花束 (BFS 模板t)1113. 红与黑 (BFS)完全二叉树的权重 【双指针 O(nlogn)】地牢大师左孩子右兄弟国际象棋PAcWing 3768. 字符串删减(每日一题)799. 最长连续不重复子序列最大数字叶子节点 (周赛T)原创 2023-04-03 20:38:25 · 447 阅读 · 0 评论 -
【蓝桥杯专题】 树状数组(C++ | 洛谷 | acwing | 蓝桥)
什么是线段数组??1264. 动态求连续区间和数星星线段树AcWing 1270. 数列区间最大值原创 2023-03-26 15:41:40 · 1021 阅读 · 0 评论 -
【DFS专题】深度优先搜索 “暴搜”优质题单推荐 10道题(C++ | 洛谷 | acwing)
题单一、模板 [极为重要]全排列DFS组合型DFS指数DFS二、专题烤鸡 (指数BFS)P1088 火星人 【全排列】P1149 火彩棒 [预处理 ]P2036 PERKETP1135 奇怪的电梯 暴力P1036 [NOIP2002 普及组] 选数 (组合)P1596 [USACO10OCT]Lake Counting S 【DFS求图的连通块】八数码原创 2023-03-24 20:45:04 · 2239 阅读 · 3 评论 -
【蓝桥杯专题】枚举、模拟与排序 (C++ | 洛谷 | acwing | 蓝桥)
【蓝桥杯专题】 (C++ | 洛谷 | acwing | 蓝桥)回文日期纸张尺寸 蓝桥杯真题错误票据AcWing 788. 逆序对的数量航班时间移动距离连号区间1236. 递增三元组P原创 2023-03-20 21:45:09 · 528 阅读 · 0 评论 -
【蓝桥杯专题】二分&前缀和 (C++ | acwing | 洛谷 |蓝桥杯)
数学思路 统计余数相同的前缀和,如果在这些前缀和中余数相同的任取俩个相减,他们得到的余数都是相同的。条件 : 每块巧克力可以分的个数 之和 与人数做对比。结论:%k,余数相同的相减 = k的倍数 – >思路 : 哈希存储 cd集合 然后枚举。原创 2023-03-16 10:52:27 · 287 阅读 · 0 评论 -
【蓝桥杯专题】 贪心(C++ | 洛谷 | acwing | 蓝桥)
【蓝桥杯专题】 (C++ | 洛谷 | acwing | 蓝桥)1055. 股票买卖 IIAcWing 104. 货仓选址传递糖果AcWing 112. 雷达设备付账问题乘积最大AcWing 1247. 后缀表达式P原创 2023-03-17 15:16:06 · 1373 阅读 · 2 评论 -
【蓝桥杯专题】 DP(C++ | 洛谷 | acwing | 蓝桥)
【蓝桥杯专题】 DP(C++ | 洛谷 | acwing | 蓝桥)AcWing 1205. 买不到的数目Acwing 1216. 饮料换购【模拟】01背包271. 杨老师的照相排列最长公共上升子序列鸣人的影分身 数字划分P、糖果AcWing 1222. 密码脱落 (区间dp)没有上司的舞会 (树形dp)AcWing 1220. 生命之树 (树形dp)石子合并 (区间dp)AcWing 1070. 括号配对(区间dp)原创 2023-03-18 22:31:41 · 748 阅读 · 0 评论 -
【蓝桥杯专题】 递归 &递推 (C++ | 洛谷 | acwing)
文章目录【蓝桥杯专题】 递归 &递推 (C++ | 洛谷 | acwing)复习P5534 【XR-3】等差数列P4994 终于结束的起点P1028 [NOIP2001 普及组] 数的计算波动数列[递归]母牛的故事蓝桥杯:耐摔指数原创 2023-03-06 18:32:49 · 745 阅读 · 0 评论 -
【C++】栈 | 非递归 实现斐波那契数 Acwing 717. 简单斐波那契
代码】【C++】栈|非递归实现斐波那契数Acwing717.简单斐波那契。原创 2022-08-01 21:08:18 · 370 阅读 · 0 评论 -
剑指 Offer 24. 反转链表
剑指 Offer 24. 反转链表原创 2022-06-06 14:58:28 · 132 阅读 · 0 评论 -
剑指 Offer 30. 包含 min 函数的栈
算法题打卡原创 2022-06-04 12:25:39 · 141 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列
class CQueue {public://加入队尾 appendTail() : 将数字 val 加入栈 A 即可。// 删除队首deleteHead() : 有以下三种情况。// 当栈 B 不为空: B中仍有已完成倒序的元素,因此直接返回 B 的栈顶元素。// 否则,当 A 为空: 即两个栈都为空,无元素,因此返回 -1 。// 否则: 将栈 A 元素全部转移至栈 B 中,实现元素倒序,并返回栈 B 的栈顶元素。 stack A,B; CQueue() { } ...原创 2022-06-03 19:55:45 · 84 阅读 · 0 评论 -
洛谷 P1902 刺杀大使(二分 | BFS)
题目描述思路二分题 通过BFS进行对答案的遍历代码1#include <iostream>#include <queue>#include <utility>//pair#include <cstring>using namespace std; typedef pair<int ,int> PII;const int N = 1010;int n, m, l = N, r = - N, mid, ans;int p原创 2022-05-30 19:41:04 · 319 阅读 · 0 评论 -
洛谷 P2678 跳石头
https://www.luogu.com.cn/problem/P2678[NOIP2015 提高组] 跳石头题目背景一年一度的“跳石头”比赛又要开始了!题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NNN 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限原创 2022-05-29 15:45:55 · 170 阅读 · 0 评论 -
leetcode 19. 删除链表的倒数第 N 个结点
题目描述https://leetcode.cn/problems/remove-nth-node-from-end-of-list/思路快慢指针 , 审题!!!代码1/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int原创 2022-05-25 21:49:30 · 89 阅读 · 0 评论 -
leetcode 53. 最大子数组和 (闫氏dp | c++)
题目描述思路闫氏dp 属性 max集合划分 是否取上一个大于0的 区间dp[i] = max(dp[i-1], 0) + nums[i];//如果上一项大于0的话 就可以选代码1class Solution {public: int maxSubArray(vector<int>& nums) { if(nums.size() == 0) { return 0; } int dp[10001原创 2022-05-24 22:06:31 · 156 阅读 · 0 评论 -
leetcode 169. 多数元素 (C++ | hash | 快排 | 摩尔投票算法)
题目描述代码 哈希public: int majorityElement(vector<int>& nums) { unordered_map<int, int> counts; int ans = 0, cnt = 0; int n = nums.size(); for(int i = 0; i < n; i ++) { counts[nums[i]] ++;原创 2022-05-23 21:06:56 · 176 阅读 · 0 评论 -
leetcode 22. 括号生成 (dfs | c++)
题目描述代码1class Solution {public: vector<string> ans; vector<string> generateParenthesis(int n) { dfs(0, 0, n, ""); return ans; } void dfs(int left,int right, int n, string str) { if(left == n &原创 2022-05-22 15:29:09 · 140 阅读 · 0 评论 -
LeetCode 46. 全排列 (dfs | c++)
题目描述思路dfs问题代码class Solution {public: bool st[100]; vector<vector<int>> ans; vector<int> path; int n; vector<vector<int>> permute(vector<int>& nums) { n = nums.size(); dfs(nu原创 2022-05-22 14:53:53 · 168 阅读 · 0 评论 -
leetcode 338. 比特位计数
题目描述思路模拟代码1class Solution {public: int lowbit(int n) { int an = 0; while(n) { if((n & 1) == 1) { an ++; } n >>= 1; } return an; } vector<i原创 2022-05-21 22:07:29 · 120 阅读 · 0 评论 -
leetcode78. 子集 (C++ | STL | DFS)
leetcode78. 子集 (C++ | STL | DFS)原创 2022-05-20 20:11:38 · 259 阅读 · 0 评论 -
leetcode 461. 汉明距离 (位运算 | C++)
题目描述思路位运算:计算出俩个不同位置的1的长度语法 : 不能只用>> 应该是 >>=& 与代码1class Solution {public: int hammingDistance(int x, int y) { int z = x ^ y; int sum = 0; while (z){ sum += z & 1; z >>= 1; } return sum; }};🌹感谢阅读🌹原创 2022-05-19 21:17:05 · 278 阅读 · 0 评论 -
leetcode 1. 两数之和 (C++ | map 哈希)
题目描述思路应用了STL的map,把值映射到下标,运用于乱序n数之和。mp.find(target-nums[i]) != mp.end()表示找到这个数,且哈希表中不为空,每次循环执行把值映射到下标.C++代码class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { map<int, int> mp; for(int原创 2022-05-18 09:50:45 · 279 阅读 · 0 评论 -
初识 leetcode167. 两数之和 II - 输入有序数组 (二分 | 双指针 | C++)
初识leetcode第一次用leetcode,不习惯这种输入输出方式,思路对了,就是输入输出是return的。。。小结 : 二分查找适用于排序过的 1.俩数之和那个题没排序可以用双指针题目描述思路target - num[i] 然后二分cpp代码class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { for(int i = 0;原创 2022-05-17 21:45:13 · 196 阅读 · 2 评论 -
牛客 BM18 二维数组中的查找 (C++)
题目描述思路模板 + C++语法代码模板//查找左边界 SearchLeft 简写SLint SL(int l, int r){ while (l < r) { int mid = l + r >> 1; if (check(mid)) r = mid; else l = mid + 1; } return l; // 最后r=l}//查找右边界 SearchRight 简写SR原创 2022-05-16 22:07:31 · 306 阅读 · 0 评论 -
牛客 BM17 二分查找-I 题解 (C++)
题目描述思路就是二分的模板题,下面是y总的模板,因为本题目没有重复数,所以俩个都是可以的。代码模板//查找左边界 SearchLeft 简写SLint SL(int l, int r){ while (l < r) { int mid = l + r >> 1; if (check(mid)) r = mid; else l = mid + 1; } return l; // 最后r=l原创 2022-05-16 21:46:00 · 276 阅读 · 0 评论 -
牛客练习赛98 A 魔法寄录 B Mentai Cosmic
A 魔法寄录题目链接**思路:**只需比较俩种攻击方式就行。#include <bits/stdc++.h>using namespace std;typedef long long ll;ll h,a,b,g;ll ans = 0;int main () { cin >> h >> a >> b; g = max(a,b*3); while(h > 0) { h -= g;原创 2022-04-30 23:27:06 · 395 阅读 · 1 评论 -
蓝桥杯2015年第六届真题-移动距离 (模拟)C++
蓝桥杯题解原创 2022-04-08 09:38:55 · 754 阅读 · 2 评论 -
蓝桥杯2015年第六届真题-穿越雷区 BFS入门题 || 迷宫模板 (思路清晰)
蓝桥杯题解原创 2022-04-07 21:34:29 · 913 阅读 · 1 评论 -
蓝桥杯2021年第十二届省赛真题-时间显示 (思维+输出) C++
蓝桥杯题解原创 2022-04-07 19:18:28 · 387 阅读 · 0 评论 -
[蓝桥杯2021初赛] 砝码称重 (闫氏DP分析法) c++
🌟题目🌟思路🌟C++代码🌟题目gogogo🌟思路闫氏DP分析法如果出现负数的话,由于天平存在镜像,所以直接取绝对值就行abs(j - w[i])状态表示方程:f[i][j] = f[i - 1][j] || f[i - 1][j + w[i]] || f[i - 1][abs(j - w[i])]🌟C++代码#include <bits/stdc++.h>using namespace std;const int N = 110,M = 200010;bool f.原创 2022-04-06 21:08:34 · 795 阅读 · 0 评论 -
蓝桥杯2020年第十一届省赛真题-数字三角形 ( 闫氏DP分析法)C++
蓝桥杯题解原创 2022-04-06 18:22:44 · 936 阅读 · 1 评论 -
P1551 亲戚 (并查集 入门题) C++
洛谷题目描述思路代码1题目描述链接思路参考 (我的并查集模板 笔记)[https://blog.csdn.net/weixin_49486457/article/details/123009849]代码1#include <bits/stdc++.h>using namespace std;typedef long long LL;//数据太大 要开llconst int N = 100010;int p[N];int find(int x) { if(p[x原创 2022-04-05 17:17:47 · 899 阅读 · 1 评论 -
蓝桥杯2013年第四届真题- 错误票据(多次输入处理)
刷题笔记原创 2022-04-04 09:09:11 · 330 阅读 · 1 评论 -
[蓝桥杯2019初赛]特别数的和 (模拟 枚举)
🌟题目🌟思路🌟C++代码🌟题目🌟思路水题没什么好说的暴力秒了🌟C++代码#include <bits/stdc++.h>using namespace std ;typedef long long LL;int n;LL ans = 0;bool check(int x) { while(x) { int t = x % 10; if(t==2||t==0||t==1||t==9) { return .原创 2022-04-03 22:11:48 · 1395 阅读 · 1 评论 -
蓝桥杯2018年第九届真题-递增三元组 (二分 STL 双指针)
🌟题目🌟思路🌟C++代码🌟题目🌟思路暴力做法 TLE 了#include <iostream>using namespace std;const int N=10000;int n,a[N],b[N],c[N];int cnt=0;int main(){ cin>>n; for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n;i++) cin>>b[i]; .原创 2022-04-03 20:42:17 · 469 阅读 · 3 评论