自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++11多线程编程

尝试对互斥量进行加锁操作,如果当前互斥量已经被其他线程持有,则当前线程会被阻塞,直到互斥量被成功加锁,或者超过了指定的时间点。:尝试对互斥量进行加锁操作,如果当前互斥量已经被其他线程持有,则当前线程会被阻塞,直到互斥量被成功加锁,或者超过了指定的时间。值得注意的是,arg一般不能是临时变量或者局部变量,因为线程在调用func的时候,变量不在func的局部作用内,就会报错。:尝试对互斥量进行加锁操作,如果当前互斥量已经被其他线程持有,则当前线程会被阻塞,直到互斥量被成功加锁。

2024-03-15 21:44:28 382

原创 C++常用容器总结

1.顺序容器连续型第一个也是最常用的vector,vector元素存放都是连续的,vector开辟内存是以2的倍数增长;还有一个特点就是只能从尾部添加元素。这两个特点使vector具有以下性质:适用于可以快速随机查找,在尾部增加删除元素的情况。

2024-03-14 14:40:35 1772

原创 C++11新特性 - auto 自动推导类型

原文的大意是,C++11中auto是用在一些类型比较长(写代码的时候懒得敲)或者类型比较复杂的时候。C++11中的lambda函数使用的时候,类型很难推导。在进行迭代的时候,类型比较长。

2024-03-10 21:29:33 493

原创 C++11 新特性-Variadic Templates

参数不定的模板参数的作用就是可以帮助我们实现一些递归,但是需要注意的是varidic templates每次使用都需要写一个空函数(函数重载),这样最后一次递归调用的时候就不会报错。就可以准确输出每个参数。

2024-03-10 20:51:29 359

原创 PAT 甲级- 1006 Sign In and Sign Out

At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in's and out's, you are supposed to find the ones who have unlocked and loc

2024-02-22 09:20:16 356

原创 PAT 甲级-1005 Spell It Right

给你一个int数字,要求你按照位相加得到sum,然后用英文输出每位数字。这是一道字符串处理的题目,用到的知识点如下图。

2024-02-21 10:41:35 331

原创 计算机图形学(第三周)

几何变换1.一般变换:把点映射到其他点,把向量映射到其他向量。 基本变换:平移,旋转,放缩,错切; 复合变换2.齐次方程:将各种变换用阶数统一的矩阵来表示

2024-02-20 21:44:49 350

原创 PAT 甲级-1004 Counting Leaves

先采用vector数组来存储非叶子结点的孩子结点,采用dfs的方式进行遍历,遍历过程中更新最大层次数和每层的叶子结点个数。给你一个树,含有N个结点,其中M个结点是非叶子结点,接下来给你这M个结点的孩子结点。要求你输出每层的叶子结点。

2024-02-20 21:44:23 1368

原创 PAT甲级-1003 Emergency

题目:As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are mar

2024-02-03 17:22:12 805

原创 PAT甲级-1002 A+B for Polynomials

算法过程:思路较为简单,用一个float数组实现相加,格式化输出的时候用c语言格式化输出就好了。同时这个题也可用map容器来写更优。

2024-01-28 22:42:58 301

原创 PTA甲级-1001 A+B Format

算法过程:如果结果位负数,则将先输出负号,之后都按照整数输出,将int型结果借助stringstream转换为string类型,然后输出。题目大意:格式化输出A+B,每隔三位数加一个逗号。

2024-01-27 11:43:38 350

原创 计算机毕设-基于深度学习的图像处理软件

本次设计的图像处理软件旨在提供智能添加马赛克、去除水印、数字形态学基本操作、噪声处理等共四种基础功能。由于不同的功能采用的技术和算法不同,因此为了保障代码的可维护性和逻辑性,我们独立实现了四种基础功能,以便在实现过程中更好地进行代码复用和维护。比如智能添加马赛克功能,先选择你要添加马赛克的类型,然后用YOLOv5进行检测,得到区域坐标,一键添加马赛克。点击一键马赛克其他功能我就不一一介绍了,我把其他功能页面截图出来,你们可以猜出来个大概。

2023-09-17 20:43:02 158

原创 All Roads Lead to Rome (30)

题目描述Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the route with the least cost while gaining the most happiness.输入描述:Each input file contains one test case. For each case, the first

2022-01-23 17:46:54 263

原创 7.23c++ STL自学笔记

map和unordered_map的区别map: map内部实现了一个红黑树(红黑树是非严格平衡二叉搜索树,而AVL是严格平衡二叉搜索树),红黑树具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素。因此,对于map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行的操作。map中的元素是按照二叉搜索树(又名二叉查找树、二叉排序树,特点就是左子树上所有节点的键值都小于根节点的键值,右子树所有节点的键值都大于根节点的键值)存储的,使用中序遍历可将键值按

2022-01-23 09:51:30 145

原创 Hash (散列,哈希)

1.为了减少比较的次数,或者直接找到目的元素的下表,提出了Hash。2.Hash 函数的构造方法(1)常用的是取模的方法;(2)数字分析法用于知道全部关键字,提取原关键字中的部分(即不重复的)作为关键字,例如在图书编号中;(3)平方取中法,一个数平方后的的中间几位和原数的每一位都有关,可以选做关键字;(4)折叠法,将关键字分割成位数相同的几部分,然后取这几部分的叠加和作为散列值的地址。3.处理冲突的方法first 开放地址法(1)线性探测法:把散列表当作一个循环表,所选取的位

2022-01-17 11:49:13 107

原创 排序算法 c++(思想+code)

前言最近在刷PAT甲级题目,遇到相应不熟的知识点而记之,以备考前回顾。Insertion sort(直接插入排序)思想:在一个长为n的数组中,前边一部分为已排序的数组,后面的为未排序的数组,每次遍历都从后面添加一个到前面中的合适位置。code:void insertion(int a[]){ for(int i=0;i<a.size();i++) { sort(a.begin(),a.begin()+i); }}Heap sort(

2022-01-16 21:57:36 246

原创 c++ vector常用用法总结

1.初始化vector<int> a{0,1,2,3,4,5}; //基于c++11新特性,常用容器后跟{}直接初始化2.常用操作vector<int> a;a.push_back(num); //向量a中尾部加入一个元素numa.pop(); //向量a中尾部删除一个元素a.front(); //返回第一个元素a.back(); //返回最后一个元素a.empty(); //判断是否为空a.size(); //返回a的大小a.erase(a.

2022-01-16 10:39:09 298

原创 PAT-甲级之树遍历问题的总结

1.层次遍历前提:二维数组存放的树。层次遍历用queue,先定义一个Q,把root加入其中,访问过root后再把跟下面的节点加入到队列Q中,把root踢出去,依次进入循环。queue<int> Q;Q.push(root); //初始化while(!Q.empty()){ int size=Q.size(); for(int i;i<size;i++) //遍历Q中的每个元素 { int num=Q.front();

2022-01-15 17:21:03 80

原创 C++11新特性

1.第一个好用的新东西就是关键字auto;auto就是自动推导你定义那个东西的类型2.关键字tuple类比pair,pair只能定义两个数据,tuple可以定义多个数据类型,非常好用。auto my=make_tuple("999","888","777");cout<<get<0>(my);3.统一初始化如:int a[4] {1,2,3,3}vector<int> {....}即所有的类型都可以在后面加一个{}进行初始化4...

2022-01-14 13:47:16 161

原创 Shuffling Machine (20)

Shuffling is a procedure used to randomize a deck of playing cards.Because standard shuffling techniques are seen as weak, and in order toavoid "inside jobs" where employees collaborate with gamblersby performing inadequate shuffles, many casinos emplo.

2022-01-11 13:36:00 102

原创 Consecutive Factors (20)

题目描述Among all the factors of a positive integer N, there may exist several consecutive numbers. For example, 630 can be factored as 3*5*6*7, where 5, 6, and 7 are the three consecutive numbers. Now given any positive N, you are supposed to find the ma

2022-01-10 19:53:00 400

原创 A+B in Hogwarts (20)

水题题目描述If you are a fan of Harry Potter, you would know the world of magic has its own currency system -- as Hagrid explained it to Harry, "Seventeen silver Sickles to a Galleon and twenty-nine Knuts to a Sickle, it's easy enough." Your job is to writ

2022-01-10 19:50:00 126

原创 python爬虫--自学笔记

一 基本原理 我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛 。 把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息 。 可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被抓取下来了 。二 爬虫过程获取网页向网站的服务器发送一个请求,返回的响应体便是网页源代码。提取信息最通用的...

2022-01-07 20:01:36 832

原创 图论知识总结(简易)

1.图的表示目录1.图的表示2 图的遍历3 图论的几个常用的算法图的三种常用表示方法:1.邻接矩阵 (容易看出和哪个点相邻)2.邻接表 (便于增加和删除结点)3.十字链表2 图的遍历1.DFS 深度优先遍历先选定一个顶点v作为起始点,之后遍历v中第一个顶点中第一个相邻节点,一直遍历到最后,之后回来遍历第二个一直到最后,一直进行到最后全部遍历完。(下面伪代码遍历邻接矩阵表示的图)void DFS(AMGr...

2022-01-05 16:29:30 785

原创 重拾C++STL

2021-1-2一.STL的六大部件容器,分配器,容器适配器,算法,迭代器,仿函数。二 容器分类连续容器:(其中的一个重要特点是查询速度快)1 数组2 vector 和数组的区别是可以自动扩充(二倍式)3 deque 双向的queue4 list 双向链表5 forward list 单向链表非连续性(关联)容器:set , unordered setmap,unordered map其中unordered - 是由红黑二叉树构成...

2022-01-03 07:48:19 502

原创 机器视觉--入门小结

1.直方图均衡化:常有一些图像由于过度曝光或者曝光不足,使图像的灰度值处于灰度值较高的区域或者灰度值较低的区域。通过变换函数改变直方图的灰度值,主要用于增强 动态范围较小图像的对比度。直方图经过均衡化处理后,各个灰度级具有相同的频率,因此图像看起来更加清晰了。2.图像梯度处理的算子:一阶:sobel算子(x轴)其主要用于边缘检测,在技术上它是以离散型的差分算子,用来运算图像亮度函数的梯度的近似值,sobel算子是基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声有平

2021-12-26 12:09:25 124

原创 算法设计与分析考前

1.时间复杂度问题: 事后分析法 事前分析法: 大O表示法:O(1),O(n),O(logn),O(n^2)一般分为常数级,线性级,对数级,平方级。其中:O(logn)举例int number=1;while(number<n){number=number*2;//时间复杂度为O(1)的算法...}递归算法时间复杂度分析方法---迭代法迭代法的步骤是:先将递归算法简化成对应的递归方程,然后反复迭代,将递归...

2021-12-24 21:06:36 204

原创 数据库复习(前四章)

数据库系统的特点:1.数据结构化2.数据共享型高,冗余度低3.数据独立性(包括数据的物理独立性和逻辑独立性)4.数据由DBMS统一管理和控制。DBMS的功能:1.数据的组织,存储,管理功能。2.数据库的定义功能。3.数据的操纵功能。4.数据库的事务管理和运行管理。5.数据库的建立和运行功能。6.其他功能如不同数据库之间的互访和互操作功能。数据模型概念:是数据库中用于对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式架构。 通常是由数...

2021-12-22 18:41:16 1952

原创 机器视觉--图像形态学

腐蚀:首先确定一个卷积核,一般为圆形或者正方形,然后以卷积核的圆心为扫描点,从图片的左上角点,遍历到图片的右下角,如果卷积核的全部位于图像内,则为1,否在为0。cv2.erode(img,kenel)膨胀:腐蚀的逆操作,卷积核中只要有1,就为1。cv2.dilate(img,kenel)开运算:图像先经过腐蚀后(去除噪声,原图变瘦),再膨胀(变胖)。cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)闭运算:先经过膨胀,再腐蚀。(用于消除图像中的小孔

2021-12-21 17:17:12 273

原创 c++文件操作

在C++中,有一个stream这个类,所有的I/O都以这个"流"类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(<<)向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<'/n';就表示把字符串"Write Stdout"和换行字符('/n')输出到标准输出流。2、析取器(>>)从流中输入数据。比如说系统有一个默认的标准输入

2021-11-17 15:57:32 213

原创 计算机图形学笔记(第二周)

多边形光栅化:1.逐点填充法2.扫描线填充法3.活动边表填充法x-扫描线的思想:上开下闭,右开左闭。 图形的中心偏移半个像素点。求交,排序,交点配对,区间配色。每次求交和排序都比较耗时,因此做出了以下改进:1.并不对所有的边求交,只与有效边求交。2.扫描线和直线在y方向上具有连贯性,交点可以采用增量计算(y增加1,x增加1/k)3.排序->只有在新边加入的时候才进行排序(求交)。...

2021-11-17 15:56:51 235

原创 计算机图形学笔记 (第一周)

1.计算机图形学:研究通过计算机将物体表示为图形并显示的一门学科。表示: 将物体表示为图形;造型/建模显示:将表示后的图形显示出来; 渲染/绘制2.文字/文本;图形/图像; 图形本质也是一种语言。3.图形系统1)硬件: 显示原理:CRT,LCD CRT显示彩色的方法:CRT彩色显示器呈现彩色的原理_百度知道 LCD显示彩色的方法:通过改变电压,改变液晶的物理性质(光的折射),从而产生彩色。 显示方式:随机,光栅...

2021-11-06 14:10:49 183

原创 2021-07-29动态规划自学笔记

线性规划包括四种类型:1.线性模型;2.区域模型;3.树形模型;4.背包问题;求解方式通常运用两种方式:一是自上向下的备忘录法(递归方法的改良),二是自下而上的方式。动态规划 主要用于解决两个问题:1.重叠子问题 : 如斐波那契数列递归的过程中,切钢条问题;2.最优子结构;...

2021-07-29 11:00:28 49

原创 7.22 C++自学笔记

c=cin.get() //获得单个字符while(c!='\n'){}cin.getline()//获得一行字符串,包括空格。string s;s.clear() //字符串清空函数s.erase() //删除其中某段字符<queue>back() 返回最后一个元素empty() 如果队列空则返回真front() 返回第一个元素pop() 删除第一个元素push() 在末尾加入一个元素size() 返回队列中元素的个数q.push(x);

2021-07-22 21:46:45 114

原创 CCF-CSP 稀疏向量问题(2020-6)

首先看到这个问题容易想到的是将数据全放在数组,一一遍历,相乘。#include<iostream>#include<vector>using namespace std;int n,a,b;int x[1000000],y[1000000];void solve(){ long long sum=0; for(int i=0;i<n;i++) { sum+=x[i]*y[i]; } cout&...

2021-07-20 17:24:42 154

原创 7.18自学c++笔记

C++中SORT函数使用方法void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);(1)第一个参数first:是要排序的数组的起始地址。(2)第二个参数last:是结束的地址(最后一个数据的后一个数据的地址)(3)第三个参数comp是排序的方法:可以是从升序也可是降序。如果第三个参数不写,则默认的排序方法是从小到大排序。bool cmp(int a,int b){   retu

2021-07-18 15:16:41 59

原创 7.17 贪心算法和枚举算法心得

一.遇到比较复杂问题的时候,可以综合运用贪心算法和枚举算法,比如钓鱼问题,可以先枚举一个较少的变量,即池塘个数,然后运用贪心算法算出在n个池塘下的钓鱼个数,即局部最优解,最后得到整体最优解。二.integral(函数名,左端点,右端点,分段的数量);//1.左端点和右端点要用浮点数;//2.分段的数量越大越精确;//3.函数名可以用lambda表达式代替,如://integral([](doublex)->double{returnx;},0.0,100.0,100...

2021-07-17 16:29:16 204

原创 7.16 c++自学笔记

一.重温汉诺塔。首先分析汉诺塔问题本质,可以把小盘放在大盘上。可以把问题分成三步来: 1.先把(n-1)个盘子从A盘借助C盘移到B盘上; 2.把A上第n个盘子移到C盘上; 3.把B上(n-1)个盘子借助A盘移到C盘上;借助递归容易实现;看待问题时,注意递归思想的应用。二.stringstream ss 在循环中改变数据类型时,注意ss.clear()清空原来的数据。...

2021-07-16 14:28:24 79

原创 c++自学笔记 7.15

7.151.String 类型的可以直接比较不需要strcmp;2.接收含空格的两种方法 cin.getline(char,num) getline(cin,string)String 类的用法:a) string s; //生成一个空字符串sb) string s(str) //拷贝构造函数 生成str的复制品c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值d) st...

2021-07-15 10:22:14 56

原创 c++自学笔记

vector当需要使用数组的情况下,可以考虑使用vector1.特点:(1) 一个动态分配的数组(当数组空间内存不足时,都会执行: 分配新空间-复制元素-释放原空间);(2) 当删除元素时,不会释放限制的空间,所以向量容器的容量(capacity)大于向量容器的大小(size);(3) 对于删除或插入操作,执行效率不高,越靠后插入或删除执行效率越高;(4) 高效的随机访问的容器。2.创建vecotr对象:(1) vector<int> v1;(...

2021-07-15 10:08:55 98

基于深度学习的图像处理软件毕设+YOLO+QT+OpenCV,全程python开发,一行代码布置环境

2023毕业设计,基于YOLOv5,Qt和Opencv设计的一款图像处理软件,有问题可以私聊我。

2023-09-17

空空如也

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

TA关注的人

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