自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 蓝桥杯方格分割C++

6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如图:p1.png, p2.png, p3.png 就是可行的分割法。试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法.使用DFS搜索,用一个二维的visit数组标记是否走过,回溯清空标记,遍历dire状态数组去深搜。#include<bits/stdc++.h>using namespace std;int dire[][2]={{-1,0},{0,1},{

2022-04-06 13:34:38 826 1

原创 C++unordered_map的插入

对于C++的unorder_map来说,插入有好几种方式,简单列举如下:首先随便声明一个undered_map<int,int> dict;1.emplace插入dict.emplace(1,2);2.赋值dict[1]=2;3.insert插入dict.insert(pair<int,int>(1,2));但是他们是有区别的!!一、emplace插入使用emplace插入两个key相同的,emplace是拒绝插入的!!所以只会显示第一个1,1

2022-04-05 13:27:26 12612

原创 力扣28.实现strStr()的KMP实现

class Solution {public: void getNext(string ch,int length,vector<int> &next) { next[0] = -1; int i=0,j=-1;//i是主串正在匹配的字符位置,j代表的是前面已经匹配成功的后一个。 while(i<length-1) { if(j==-1||ch[i]==ch[j]){ .

2022-04-04 17:43:31 479

原创 C++ String类构造函数

构造函数 描述 string(const char*) 将string对象初始化为s指向的NBTS(null-terminated string)即以空字符结束的传统C字符串 string(size_type n,char c) 创建一个包含n个元素的string对象,其中每个元素都被初始化为字符c string(const string &str) 将一个string对象初始化为string对象str(复制构造函数) string() 创建一个默认的s

2022-04-01 20:51:25 1513

原创 C++抽象基类ABC理念(Abstract Base Class)(纯虚函数)

对于继承来说,有时候is-a规则并不是看上去的那么简单,比如正在开发一个图形程序,程序会显示圆和椭圆。椭圆有长轴和短轴两个数据成员,当长轴等于短轴时,就相当于是一个圆了。因此我们可以将椭圆类作为父类,圆类作为特殊的子类,但是这会带来一些问题。实际上圆并不需要两个数据成员来刻画,用一个半径就能够刻画了。一.抽象基类理念 对于上面这种问题,我们可以从Ellipse(椭圆)和Circle(圆)类中抽象出它们的共性,将这些特性放到一个ABC(抽象基类)中。再从这个ABC类派生出Ci...

2022-03-30 15:04:34 1724

原创 C++特殊成员函数(深拷贝和深赋值)

在C++的类中有这么一些成员函数是自动定义的,具体如下所示:1.默认构造函数2.默认析构函数3.复制构造函数(即拷贝构造函数)4.赋值运算符5.地址运算符C++11提供了另外的两个特殊成员函数:移动构造函数和移动赋值运算符,在后讨论。本文仅讨论1,3,4的问题一.默认构造函数在不定义构造函数时,会自动定义一个默认构造函数。反之则不会定义。如果想在创建对象的时候不显式地初始化,就必须自己显式地定义默认构造函数。这种构造函数没有参数,有两种方式:1.不带任何参数的默认构造。2

2022-03-28 15:10:12 1788

原创 C++转换函数(operator typeName())与规范

通常在将double类型的数字变成int类的时候,我们会使用强制转换。如下所属。double a = 12.23;cout<< int (a)<<endl;//输出的就是12了如果我们想将一个类转换成数字呢?匪夷所思,但是可以。我们定义一个Stone类,即石头,储存其重量class Stone{private: double weight;public: Stone(double a){ weight = a;} operat

2022-03-27 20:23:02 945 1

原创 C++友元(友元函数)

1.1为何需要友元我们知道C++的类中访问权限分public,protected,private。当我们想通过类方法进行访问的时候往往是在public的区域写一个函数来访问。但是这种方式过于严格拉,所以C++就有了友元。友元友元,就是类的好朋友,可以用用他的数据啦。1.2举一个重载的例子说明其重要性随手写的一个Time例子,在此类中重载了*号运算符,使*能让对象与一个int类的数相乘,使min变成原来的a倍,并且返回这个T类。class T {private: int ho

2022-03-26 20:10:14 1966

原创 C++的const类成员函数

C++的类中有两种定义:1.成员函数 2.数据成员ps:以上是大概的讲,当然还有友元,既不是类的成员函数也不是数据成员,只是需要类中的一些数据在类中声明一下而已

2022-03-26 19:33:53 798

原创 数字分类的神经网络

from pathlib import Pathimport requestsimport pickleimport gzipfrom matplotlib import pyplotimport numpy as npimport tensorflow as tfimport kerasfrom keras import layersDATA_PATH = Path("data")Path = DATA_PATH / "mnist"Path.mkdir(parents=True, .

2022-03-21 14:02:10 1807 1

原创 蓝桥杯ALGO-1000Kac糖果给你吃

一道小学生题,排序一下取前面的加起来,注意不要越界。#include<iostream>#include<algorithm>#include<vector>#include<functional>using namespace std;int main(){ int n, m;//n为有n堆糖果,m为能拿多少次 long long result=0;//最后能拿多少 cin >> n >> m; vecto

2022-03-19 21:08:46 276

原创 蓝桥杯ALGO-1001跳马

一道BFS搜索题,详细步骤都写着了。总结一下:1、bfs搜索,用一个队列来实现,先放一个,然后队列头访问到的依次放入。然后pop,再下一个,如此操作。2、学到了pair,确实挺好用的,pair<xx,xx>是将两个类型组合成一个类型,first,second方法可以访问其中第一个和第二个。#include <iostream>#include <algorithm>#include <vector>#include<functio

2022-03-19 20:54:17 986

原创 蓝桥杯ALGO-1004无聊的逗

这题是个状态搜索的题,首先是想怎么取,有多少种取法,这里选择了暴力枚举,将所有的取法得到的值都装进了数组里。顺便复习一下位运算1.共2的n次方种,所有是是1<<n。2.要比对那一位有没有取,即判断 i&(1<<j)3.要比对两种取法是不是没有交叉(没有取同一个,则反向思维取了同一个)则i&j,再取!就可以了,然后要需要相等take[i] == take[j]#include<iostream>#include<cmath>

2022-03-16 16:39:42 356

原创 蓝桥杯ALGO-1005数字游戏

这题是一题搜索题,因为说了如果有多个解,优先数字最小的,因此直接用dfs就可以。输出完一组后就不用输出了,为了节省时间,可以用一个判断,如果输出过了,就设置为1,后面的递归全部跳出即可。#include<iostream>#include<cmath>#include<string.h>#include<vector>using namespace std;int n, sum;//n为序列个数sum为累计和int panduan = 0

2022-03-15 16:44:50 4774 2

原创 蓝桥杯ALGO-1007印章

临时抱佛脚第一题。创建二维数组dp,dp[i][j],i代表拿的第i个印章,j表示已经凑到了j个印章。1.当i<j,不可能手机得到,当然是0。2.当j=1,i=1时候,只凑到一个,那肯定可以概率为1.但是当i>1时,还要考虑是n个中的哪一个所以是pow(p,i-1);3.dp[i][j]为拿i-1个的两种分类的和:①拿到重复的了dp[i-1][j]*(1.0*j)/n ...

2022-03-15 00:03:50 126

原创 关于TensorBoard的使用问题

TensorBoard是一组用于数据可视化的工具。它包含在流行的开源机器学习库 Tensorflow 中。TensorBoard 的主要功能包括: 可视化模型的网络架构 跟踪模型指标,如损失和准确性等 检查机器学习工作流程中权重、偏差和其他组件的直方图 显示非表格数据,包括图像、文本和音频 将高维嵌入投影到低维空间 因为自己就本地使用回调函数调用TensorBoard的经历,因此只记录这一种方法。 下面的tf是TensorFlow啊,懂的都懂。这个“./

2022-03-14 21:13:35 1616

原创 关于imread, imsave, imresize 在scipy库移除的问题

最近在学习cs231n的课程中,发现其给出的文档中,scipy中已经找不到这三个函数了,因为scipy版本>=1.3.0已经移除了。from scipy.misc import imread, imsave, imresize现记录下代替imread、imsave的方案:from imageio import imread, imsave如此便可像scipy库中一样使用了。imresize的替换方案:from PIL import Image # 调包PILim

2022-03-13 15:05:18 5725 2

原创 C++名称空间

目录1.传统的C++名称空间1.1声明空间1.2潜在作用域2.新的名称空间特性2.1目的2.2 开放特性2.3域解析运算符2.4using声明和using编译指令2.5其他特性3.基于此的编程理念1.传统的C++名称空间1.1声明空间在之前的文章中已经讲过了声明和定义的区别,还记得单定义规则吗。声明区域是可以在其中进行声明的区域。可以在函数外声明全局变量,声明区域为所在的文件;可以在函数中声明,声明区域为所在的文件。1.2潜在作用域变量的潜在作用域从声明点开始,到声明区域的结束。因此潜在作用域

2022-03-12 17:04:41 1096 1

原创 中序线索二叉树

即增加Ltag和Rtag的方式来有效利用结点所占的空间,利用为NULL的指针域,能够存储其前驱结点和后继节点。相比于对每个节点新增两个指针域,该方法更节约空间,因为int 占4字节,而一个指针占8字节,C99 还有_bool 一位即可存储,效果显著。作用:寻找特定遍历序列二叉树的前驱和后驱,所以换前序和后序就不一样了,方法大同小异。像这样的中序,基本都是有框架了,看1.2.3部,中序都是在左与根中加操作。这里看起来2的结束在3后面(代码行),其实是2先结束。注:供个人考研复习,写的不是很详细。

2022-03-10 11:04:48 397 1

原创 ubuntu20.04下QT安装

安装c语言和c++环境csdn在终端中输入sudo apt-get install gccsudo apt-get install g++使用清华开源软件镜像进行下载https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.9/5.9.0/进入下载文件所在的位置,进入终端执行命令chmod +x qt-opensource-linux-x64-5.9.0.run然后点开刚刚那个安装包下载即可(这里我全部勾选安..

2022-03-01 09:45:55 8443 3

原创 C++静态持续性、外部链接性、内部链接性

链接性为外部的变量通常简称为外部变量,它们的存储持续性为静态,作用域为整个文件。外部变量使在函数外部定义的,因此对于所有函数而言都是外部的。可以在文件中位于外部变量定义的后面的任意函数中使用它,因此也称为全局变量。1、C++单定义规则单定义规则(One Definition Rule),是指变量只能有一次定义。因此C++给出了以下两种变量声明方式:1、定义声明 2、引用声明。1、定义声明(简称定义),它给变量分配存储空间,这是区...

2022-01-16 19:24:30 635

原创 C++变量的存储方式(持续性、作用域、链接性)

这是关于内存的知识,我们设置的变量使如何存放的,C++的存储方式需要用到如下三个名词来解释:持续性:分为1.自动存储持续性2.静态存储持续性。什么意思呢,就是指我们的这个变量的有效期为多少。在默认情况下,在函数中声明的函数参数和变量的存储持续性为自动,作用域为局部,超过了这个代码块就会消亡:int main(){ int a = 1; { int b = 2;//我们关注这里的b,在此阶段b存在 }//退出代码块b已经消亡了,这就是自动存储类型的含义

2022-01-10 23:09:25 437 1

原创 多思计组实验3---总线实验(含文件~)

实验3总线实验写在前面:给出的text文件线连接正确,排版较乱,需要自己放置到适当的位置。(在文章末)食用方法:复制到text文件中,再到多思平台打开该text即可。1.1 实验目的1)理解总线的概念和作用。2)连接运算器和存储器,熟悉计算机的数据通路。1.2 实验要求1)做好实验预习。2)根据实验1运算器实验和实验2存储器实验所掌握内容,将运算器、存储器与总线连接起来,完成给定数据的读写和运算,熟悉其他元器件的功能特性和使用方法,认真仔细地完成实验(...

2021-12-15 23:22:46 13785 5

原创 C++显式实例化,隐式实例化,显式具体化

一、隐式实例化 以下为一个简单的模板函数,例如传入的两个实参分别为int int 或者double double 时,都可执行。而实际上,函数模板只是实现函数的一种方法,并非实际的实例函数,例如当main函数中执行以下两个函数时pt(1,2); pt(1.2,2.3); 实际上会实例化两个函数,它们的T分别为int 和double,这是编译器帮我们做的工作,因此使用模板函数并不会缩短可执行程序,只是方便了我们对代码的编写。 话说回来,什么是隐式实...

2021-12-07 23:38:13 2799

ubuntu20.04下QT安装

qt安装教材

2022-03-01

空空如也

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

TA关注的人

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