![](https://img-blog.csdnimg.cn/20200219133257676.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法与数据结构的碰撞经典汇总
文章平均质量分 70
包含分治法,暴力法,剪枝法,逻辑推理法,归纳法.....
、深度优先遍历,广度优先遍历,哈夫曼,决策树......
等算法的深度应用
河南-殷志强
河南大学软件工程学士,常州大学计算机学硕,研究方向为数据挖掘及知识图谱,发表两篇SCI,一篇发明专利。拥有超过两年的高层管理工作及编码经验,曾作为负责人之一完成两个项目,曾作为负责人独立完成4个项目。有需要备注目的,微信联系即可,V:yin2428775304
展开
-
【算法提升之赛事推荐】蓝桥杯没拿奖?你还有这个比赛的羊毛可以薅
参赛者不仅有机会提升个人算法水平,更有机会赢取**现金奖励**。奖励包括单场最高300元的现金奖及各种实物奖品原创 2024-05-14 10:44:59 · 671 阅读 · 3 评论 -
高效数组处理的Numpy入门总结
NumPy是Python中一个重要的数学库,它提供了高效的数组操作和数学函数,是数据科学、机器学习、科学计算等领域的重要工具。下面是一个简单的NumPy学习教程,介绍了NumPy的基本用法和常用函数。原创 2023-12-12 16:36:03 · 976 阅读 · 0 评论 -
蓝桥杯之Fibonacci数列
资源限制时间限制:1.0s 内存限制:256.0MB问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因...原创 2020-02-04 13:13:48 · 26936 阅读 · 1 评论 -
计算机考研考博经典考题汇总(一次刷新世界观-我相信VIP总是有原因的)
操作系统操作系统的特点?– 共享:资源可被多个并发执行的进程使用– 并发:可以在同一时间间隔处理多个进程,需要硬件支持– 虚拟:将物理实体映射成为多个虚拟设备– 异步:进程执行走走停停,每次进程执行速度可能不同,但OS需保证进程每次执行结果相同进程的三个组成部分?程序段、数据段、PCB(Process Control Block)并发与并行区别?并发:同一间隔 并行:同一时刻进程切换的过程?保持处理机上下文 -> 更新PCB -> 把PCB移入相应队列(就绪、阻塞) -&g原创 2020-07-17 13:57:08 · 41170 阅读 · 1 评论 -
不懂七大设计原则等于白学软件开发篇
前置介绍软件开发,不管是前端还是后端,不管你用的是springboot还是django,uniapp还是mpvue,哪怕是数据库连接平台redis、mabits、hibernate,都或多或少用了设计原则。fafs你说你不会,不合理呀。接下来给大家介绍一下我练习后的感悟。 提示:代码注释比较有用哦。单一职责原则代码奉上:package singleresponsbility;/** * @author yzq * @projectName designdemo * @packageN原创 2020-09-06 17:52:35 · 27233 阅读 · 1 评论 -
java.lang.IllegalStateException: No MethodInvocation found: Check that an AOP invocation is in progr
java.lang.IllegalStateException: No MethodInvocation found: Check that an AOP invocation is in progress, and that the ExposeInvocationInterceptor is upfront in the interceptor chain. Specifically, note that advices with order HIGHEST_PRECEDENCE will execut原创 2020-09-01 18:18:51 · 28930 阅读 · 0 评论 -
十六进制转换十进制 八进制转换十进制 java
package com.zalk.cn.engTool;import java.math.BigInteger;/** * @author 进制转换 * */public class cons { @SuppressWarnings("unused") private long hexTodec(int[] serial) { // TODO 十六进制转换十进制 long result = 0; for(int i=(serial.length-1);i>=0;i-原创 2020-08-31 11:09:23 · 27180 阅读 · 0 评论 -
大臣的旅费 连通块【蓝桥真题】(c++)
试题 大臣的旅费题述资源限制时间限制:1.0s 内存限制:256.0MB问题描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大...原创 2020-06-21 11:24:12 · 26602 阅读 · 0 评论 -
最大比例 公约数复用 【蓝桥真题】 (c++)
最大比例X星球的某个大奖赛设了M级奖励。每个级别的奖金是一个正整数。并且,相邻的两个级别间的比例是个固定值。也就是说:所有级别的奖金数构成了一个等比数列。比如:16,24,36,54其等比值为:3/2现在,我们随机调查了一些获奖者的奖金数。请你据此推算可能的最大的等比值。输入格式:第一行为数字N(1<N<100),表示接下的一行包含N个正整数第二行N个正整数Xi(X...原创 2020-04-30 12:01:59 · 27351 阅读 · 0 评论 -
c++ 如何开N次方?速解
直接上代码#include <iostream>#include <cmath>using namespace std;typedef long long LL;int main() { LL a = 625; LL s = pow(a,1.0/4); cout<<"pow开方:"<<s<<endl; retu...原创 2020-04-28 21:52:10 · 31345 阅读 · 0 评论 -
数据结构算法题解大全【持续更新】(c++)
1、二维数组查找题述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M。我的思路该题中二维数组每行从左到右是递增的,每列从上到下是递增的。起始指针从二维数组末尾...原创 2020-04-22 10:53:13 · 28037 阅读 · 1 评论 -
交换瓶子 标记+归位【蓝桥真题】(c++)
交换瓶子【题目描述 - Problem Description】有N个瓶子,编号 1 ~ N,放在架子上。比如有5个瓶子:2 1 3 5 4要求每次拿起2个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换2次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式为两行:第一行: 一个正整数N(N<1000...原创 2020-04-21 11:00:57 · 27067 阅读 · 0 评论 -
四平方和 剪枝+枚举 【蓝桥真题】(c++)
四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b <...原创 2020-04-20 12:30:30 · 27062 阅读 · 0 评论 -
特殊回文串 剪枝法【蓝桥杯算法】(c++代码实现)
上文链接:蓝桥杯之十六进制与十进制互转简化(c++代码实现)资源限制时间限制:1.0s 内存限制:512.0MB问题描述123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式输入一行,包含一个正整数n。输出格式按从小到大的顺序输出满足条件的整数,每个整数占一行。...原创 2020-02-07 19:21:03 · 28314 阅读 · 0 评论 -
剪邮票 深搜+标记 【蓝桥真题】(c++实现)
题目描述:如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。...原创 2020-04-19 12:59:25 · 26827 阅读 · 0 评论 -
方格填数 全排列+你想不到的判断 【蓝桥杯真题】(c++实现)
方格填数如下的10个格子填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。我的思路将上图中九个格子拆分成一维数组cav[9],左右、上下、对角关系人为处理,比如cav[0]不能和cav[1]、cav[4]、cav[3]、cav[5]中数...原创 2020-04-13 21:43:45 · 27129 阅读 · 0 评论 -
抽签 递归【蓝桥杯真题】(c++实现)
抽签X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人A国最多可以派出4人A国最多可以派出4人。。。那么最终派往W星的观察团会有多少种国别的不同组合呢?输入格式第一行N,以下N行代表N个国家最多可派出人数Ai。输出格式最多多少种派法输出规模1<N<100001<AI<10000示例输入6422113示例输出1...原创 2020-04-12 11:14:40 · 27464 阅读 · 1 评论 -
凑算式 全排列 【蓝桥杯真题】(c++实现)
凑算式 B DEFA + — + ------- = 10 C GHI这个算式中A~I代表1-9的数字,不同的字母代表不同的数字。比如:6+8/...原创 2020-04-07 18:18:36 · 27219 阅读 · 0 评论 -
日志统计 巧用Vector,map 【蓝桥杯真题】(c++实现)
标题:日志统计小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id表示在ts时刻编号id的帖子收到一个"赞"。现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(注意是左闭右开区间)收到不少于K个...原创 2020-04-04 15:31:17 · 27016 阅读 · 0 评论 -
全球变暖 BFS非递归【蓝桥杯真题】(c++实现)
全球变暖你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示:….##….##……##.…####.…###.…1234567其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻...原创 2020-04-02 11:57:31 · 27230 阅读 · 0 评论 -
蓝桥杯之序列求和
序列求和资源限制问题描述输入格式输出格式样例输入样例输出样例输入样例输出数据规模与约定代码展示算法分析资源限制时间限制:1.0s 内存限制:256.0MB问题描述求1+2+3+…+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+…+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组...原创 2020-02-03 20:09:56 · 26824 阅读 · 0 评论 -
螺旋折线 一分钟解决 【蓝桥杯真题】(c++实现)
上文链接:递增三元组 暴力+动态规划【蓝桥杯真题】(c++实现)螺旋折线如图p1.png所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。例如dis(0, 1)=3, dis(-2, -1)=9给出整点坐标(X, Y),你能计算出dis(X, Y)吗?【输入格式】X和Y对于40%的数据...原创 2020-03-30 11:39:49 · 27762 阅读 · 2 评论 -
递增三元组 暴力+动态规划【蓝桥杯真题】(c++实现)
上文链接:乘积尾零 因式分解【蓝桥杯真题】(c++实现)递增三元组给定三个整数数组A = [A1, A2, … AN],B = [B1, B2, … BN],C = [C1, C2, … CN],请你统计有多少个三元组(i, j, k) 满足:1 <= i, j, k <= NAi < Bj < Ck【输入格式】第一行包含一个整数N。第二...原创 2020-03-29 12:14:05 · 27245 阅读 · 0 评论 -
乘积尾零 因式分解【蓝桥杯真题】(c++实现)
上文链接:第几天修改版【蓝桥杯真题】(c++实现)乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 ...原创 2020-03-28 12:31:26 · 27174 阅读 · 0 评论 -
第几天修改版【蓝桥杯真题】(c++实现)
上文链接:明码 C++函数库bitset【蓝桥杯真题】 (c++实现)第几天修改版y年m月d日是哪一年的第几天。比如y年的1月1日是那一年的第一天,那么y年m月d日是哪一年的第几天。输入输入y m d输出输出一个整数样例输入2000 7 7输出189我的思路首先确定y年是闰年还是平年,根据俗话说:一三五七八十腊,三十一天永不差,四六九十一,三十天永不差,闰年二月二十九...原创 2020-03-27 11:54:09 · 26866 阅读 · 1 评论 -
明码 C++函数库bitset【蓝桥杯真题】 (c++实现)
上文链接:k倍区间 前缀和+选排列【蓝桥杯真题】(c++)题目描述:汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是:第1字节,第2字节第3字节,第...原创 2020-03-27 11:14:50 · 27049 阅读 · 0 评论 -
k倍区间 前缀和+选排列【蓝桥杯真题】(c++)
上文链接:分巧克力-蓝桥杯真题 二分查找(c++实现)k倍区间给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。你能求出数列中总共有多少个K倍区间吗?输入第一行包含两个整数N和K。(1 <= N, K <= 100000)以下N行每行包含一个整数...原创 2020-03-26 12:06:15 · 26898 阅读 · 1 评论 -
算法运行超时预估算
1秒可执行语句的范围为106 - 108。对应O(n)的范围为106 - 108。对应O(n2)的范围为103 - 104;对应O(n3)的范围为101 - 102。。。。。。原创 2020-03-26 10:23:13 · 27886 阅读 · 2 评论 -
分巧克力-蓝桥杯真题 二分查找(c++实现)
上文链接:包子凑数-蓝桥杯真题 线性方程组求解(c++实现)分巧克力儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1. 形状是正方形,边长是整数2. 大小相同例如一块6x5的巧克力可以切出6块2x2...原创 2020-03-23 13:17:14 · 27204 阅读 · 0 评论 -
包子凑数-蓝桥杯真题 线性方程组求解(c++实现)
上文链接:日期问题-蓝桥杯真题 具备基础日期知识查看(c++)包子凑数小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼...原创 2020-03-19 14:55:00 · 27231 阅读 · 2 评论 -
日期问题-蓝桥杯真题 具备基础日期知识查看(c++)
上文链接:最大公共子串-蓝桥杯真题 动态规划(c++实现)问题描述小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。 比如02...原创 2020-03-13 11:40:09 · 27112 阅读 · 0 评论 -
最大公共子串-蓝桥杯真题 动态规划(c++实现)
上文链接:蓝桥杯真题之“方格分裂"_DFS深度搜索(c++实现)最大公共子串有两个字符串(可能包含空格),请找出其中最长的公共连续子串,输出其长度。比如“qwerff”和“fqwerfo”,最大公共子串为“qwerf”,长度是5。我的思路将字符串“qwerff”和“fqwerfo”从头开始匹配当字符串“qwerff”和“fqwerfo”匹配到q相同时,各自都向后匹配查找是否还有子串...原创 2020-03-11 11:53:39 · 26927 阅读 · 0 评论 -
方格分裂-蓝桥杯真题 DFS深度搜索(c++实现)
上文链接:蓝桥杯真题之购物单(一分钟巧解)方格分割6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如下三图就是可行的分割法。试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。我的思路方格解析:该方格是7行7列的方格,红橙两连通方格围绕(3,3)对称。图示如下。思路:求解对称的方式有多少种,可以利用DFS(...原创 2020-03-10 12:56:47 · 27044 阅读 · 0 评论 -
购物单 蓝桥杯真题(EXCEL一分钟巧解)
上文链接:蓝桥杯之猴子吃桃-递归极度简化(c++实现)购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款...原创 2020-03-09 11:46:13 · 28052 阅读 · 0 评论 -
猴子吃桃-蓝桥杯 递归极度简化(c++实现)
试题 算法提高 猴子吃桃问题上文链接:蓝桥杯之小数第n位-数组存储+直接计算版(c++实现) 资源限制时间限制:1.0s 内存限制:256.0MB问题描述 猴子吃桃问题:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了 前一天剩下的一半多一个,到第n天吃以前发现只剩下一个桃子, 要求编写函数GetNumber(int n)求出猴子共摘了几个桃子。 输入格...原创 2020-03-07 17:48:34 · 27818 阅读 · 0 评论 -
小数第n位-蓝桥杯 数组存储+直接计算版(c++实现)
上文链接:蓝桥杯之分考场-深度优先遍历(DFS)+简单逻辑判断简化版(c++实现)资源限制时间限制:1.0s 内存限制:256.0MB问题描述我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。输入格式 一行三个整数:a...原创 2020-02-18 18:07:40 · 27132 阅读 · 0 评论