自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IoU计算与读取Xml

labelImg得到的xml标签进行提取,与对其进行的应用iou的计算

2022-07-20 11:20:32 284 1

原创 计组

一些概念机器字长、存储字长、数据字长机器字长是计算机一次能处理的二进制数的长度一个存储单元中二进制代码的位数称为存储字长,等于MDR的位数数据字长是数据总线一次能并行传送信息的位数,可以不等于MDR的位数注意:操作系统的位数是操作系统可寻址的位数,与机器字长是不一样的。一般可以通过寄存器的位数来判断机器字长。用于科学计算的计算机中,标志系统性能最有用的参数是MFLOPS因为用于科学计算的计算机主要就是评估浮点运算的性能。计算机的机器字长要看清是字节还是位透明寄存器汇编程序员可见状态寄存器

2020-07-20 09:56:22 1430 1

原创 操作系统

什么是操作系统操作系统的定义用户角度上讲:管理应用程序为应用程序提供服务杀死应用程序资源管理上讲:管理外设、分配资源操作系统架层次结构:硬件之上应用程序之下外壳Shell内核kernel操作系统的内部组件:CPU调度器物理内存管理虚拟内存管理文件系统管理中断处理与设备驱动操作系统的特征:并发计算机系统中同时存在多个运行的程序,需要OS管理和调度并...

2020-01-07 17:06:11 1256

原创 C++考试用(第九章)

不能在类声明中对数据成员初始化如果一个类中的所有成员都是公用的,那么可以在定义对象时对数据成员进行初始化;如:class Time{public: hour; minute; sec;}Time t1={14,56,30};如果类中有private或protected的数据成员,就不能用这种方法。利用构造函数实现数据成员的初始化构造函数与其他成员函数不同,不需要用户来调...

2019-12-12 16:51:51 547

原创 C++课程设计:员工管理系统

文件的写入模式都是覆盖式写入,你不管写入什么都是以写入的覆盖原有的。覆盖的字符可以是任何样子,可以覆盖各类空白字符。利用>>这个从文件中读入东西,那么他会自动跳过空白字符。并且把文件指针移动到停止读入的空白字符后的第一个字符位置。也就是说,类似这样:"Salesman is a pig\n""Manager is a shit\n"文件中有这么两句话,我们用文件读取(设定...

2019-12-11 15:48:28 1076

原创 C++考试用(第八章)

C++是一中基于过程和面向对象的混合型的语言;凡是以类对象为基本构成单位的程序称为基于对象的程序;面向对象程序设计主要特点:抽象、封装、继承和多态性;对象构成系统的基本单位。任何一个对象都应当具备属性和行为在C++中,每个对象都是由数据和函数组成封装和信息隐蔽把对象内部实现与外部行为分隔开来封装:一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,...

2019-12-02 20:51:40 526

原创 编译原理第一章基础概念汇总(考试用)

第一章编译程序(编译器)具体实现从源程序到目标程序转换的程序。面向机器的语言(低级语言)汇编语言、机器语言面向人类的语言(高级语言)通用程序设计语言,代表:C、C++、JAVA数据查询语言形式化描述语言,代表:YACC的语言转换(预处理)高级语言之间的翻译编译高级...

2019-12-02 15:01:07 548

原创 简单计算器

利用栈来实现定义栈stack<class> s(变量名)压栈s.push(n);出栈s.pop();取栈顶s.top();判断栈空s.empty();#include<iostream>#include<stack>using namespace std;int main(){ stack<int> s; s...

2019-11-12 21:14:22 196 1

原创 回文数(int)

对于判断一个整数是不是回文数我们可以这么做int p(char* n) //判断回文(利用字符数组){ int len = strlen(n); for (int i = 0; i <= len / 2; i++) { if (n[i] != n[len - i - 1]) return 0; } return 1;}int main(){ sprintf...

2019-11-12 18:34:01 324 1

原创 进制转换

就连进制转换都这么有意思如果n是负数的时候,那么n%r得到的是一个负数,而不是一个正数那么,如果我们想要得到关于n为负数时的进制转换,那么就需要先把n变为正数特别的,如果n为0,那么它的任意进制转换都为0#include<iostream>using namespace std;int main(){ int n, r; cin >> n >&g...

2019-11-12 18:08:29 136

原创 A*B问题

对于A*B的解题让我收获还是很多和A+B一样,能够考虑不同的东西比如,进位的问题进位之后,进位的保留进位与当前数的关系还有数组一定要各种考虑不越界,不使用未定义行为。保证数组一切未定义行为都不会发生因此需要对一些隐含的事情,做出反应比如下面那句while()->如果没有i>=0的条件保证,就会使得i小于0,使用了超界数组,导致严重出错。#include<st...

2019-11-11 20:11:09 444

原创 A+B问题

mmp我这么简单的题我都写了这么久我太菜了描述题意:A、B是不超过500位的数据求A+B#include<iostream>#include<string.h>using namespace std;int a[505];int b[505];int c[505];int main(){ char t; memset(a, 0, size...

2019-11-10 23:41:13 146

原创 P1056 排座椅

P1056 排座椅还是不知道哪里错了#include<stdio.h>#include<string.h>#include<stdlib.h>int a[1005][1005];int line[1005];int lie[1005];int jilu[1005];int int_cmp(const void* _a, const v...

2019-11-10 22:01:19 198

原创 Minimize the Permutation(未改)

Minimize the Permutation自始至终,我都不知道哪里错了。#include<stdio.h>#include<string.h>int a[105];int index[105];int index_new[105];int main(){ int q; scanf("%d",&q); for (int i1 =...

2019-11-10 21:57:58 283

原创 并查集

并查集通过一个一维数组实现其本质是维护一个森林开始时,森林中每个点都是孤立的,每个点就是一棵只有一个结点的树之后通过一些条件,逐渐将这个树合并为一棵大树。合并的过程就是“认爹”过程在“认爹”过程中需要遵循“靠左原则”和“擒贼先擒王”,在每次判断两个结点是否已经在同一棵树的时候,也要注意必须求其根源,中间的父亲结点是不能说明什么的,必须要找到祖宗结点,判断两个结点的祖宗是否是同一根结点才行...

2019-11-10 21:49:09 205

原创 树和堆

树不包含回路一棵树中的任意两个结点有且仅有唯一的一条路径联通一棵树如果有n个结点,那么它一定恰好有n-1条边在一棵树中加一条边会构成一个回路完全二叉树和满二叉树满二叉树完全二叉树我们用一个一维数组存储完全二叉树如果完全二叉树的一个父结点编号为k,那么他的左儿子的编号就是2k,右儿子的编号就是2k+1如果已知儿子的编号是x,那么它的父节点的编号就是x/2(取整)如果一棵完全...

2019-11-10 21:18:17 161

原创 链表

对于链表头指针的作用是便于插入与删除(头结点不记录data)如果没有头指针,那么插入第一个点和删除第一个点会变成一个麻烦的操作,需要特殊考虑插入需要在第一个点时进行特殊考虑int insert_index(node*& head, int index, node* p){ int i = 1; if (head == NULL) //对于链表如果为空时的特殊考虑 {...

2019-11-08 20:30:48 134

原创 最短路径算法的对比

2019-11-07 23:58:57 332

原创 最短路径(Bellman-Ford的优化)

每次选取队首顶点u,对顶点u的所有出边进行松弛操作例如有一条u→v的边,如果通过u→v这条边使得源点到顶点v的最短路径变短,且顶点v不在当前的队列中,就将顶点v放入队尾。同一个顶点同时在队列中出现多次是毫无意义的,因此需要一个数组来判重在对顶点u的所有边松弛完毕后,酒店顶点v出队接下来不断从队列中取出新的队首顶点再进行如上操作,直到队列空为止...

2019-11-07 22:16:44 285

原创 最短路径(Bellman-Ford)

Bellman-Ford算法解决了负权边的问题Bellman-Ford核心思想:对所有的边最多进行n-1次松弛操作核心语句:for (k = 1; k <= n - 1; k++) //进行n-1次松弛{ for (i = 1; i <= m; i++) //枚举每条边 { if (dis[v[i]] > dis[u[i]] + w[i]) //尝试对每条边进行松...

2019-11-07 22:11:38 297 1

原创 最短路径(Dijkstra算法)

Dijkstra算法一个点到其余个点的算法仍用邻接矩阵的方法存储图使用dis[]初始化为:存储1号顶点到其余顶点的初始路径此时dis数组的值被称为最短路径的估计值松弛算法的基本思想:每次找到离源点最近的一个顶点,然后以该顶点为中心开始扩展,最终得到源点到其余所有点的最短路径。基本步骤如下:算法核心代码:for (i = 1; i <= n; i++){ dis[i...

2019-11-07 21:36:52 731

转载 动态规划(最大子矩阵)

在DP问题中有一种叫最大子矩阵问题,刚好碰到了这一题,于是学习分享之。让我们先来看一下题目:ZOJ Problem Set - 1074最大子矩阵题目分类:动态规划题目大意:就是输入一个N*N的矩阵,找出在矩阵中,所有元素加起来之和最大的子矩阵。例如在 这样一个4*4的矩阵中,元素之和最大的子矩阵为   ,它们之和为15。这是一个最大子矩阵问题,我们怎么来解决这个问题呢?任何问...

2019-11-07 09:07:26 1250 1

原创 多源最短路径问题(Floyd-Warshall)

为了求任意两个点之间的最短路径照旧,利用矩阵来存储图的信息自身到自身,设置为0无法到达设置为无穷可以到达的 i 到 j ,就记为a[i][j]=路径长度思路一:对所有的两个点动用一次dfs或bfs,也就是n2次DFS或BFS上述是个啥子方法,只是看看思路二:如果,要使得从 i 到 j,就必须经过中转点,i→k→j,那么我们从所有的点中,找到这个k,使得i→j的路径变短或许,经...

2019-11-06 15:13:01 720 1

原创 最短路径(广度优先搜索)

广度优先搜索适用于所有边的权值相同的情况当所有边的权值相同,采用BFS时,当找到终点,直接退出。这时,得到的便是最短路径一个案例:各边权值均为1,找到1到5距离最小值#include<stdio.h>struct note{ int x; //城市编号 int s; //转机次数};int main(){ struct note que[2501]; //...

2019-11-05 22:29:08 2648

原创 最短路径(图的深度优先遍历)

图的基本概念:图就是N个顶点,M条边组成的集合图有有向图和无向图如果给图中每条边规定一个方向,则得到的图是有向图,其边为有向边。在有向图中,与一个点相关联的边有出边和入边之分,而与一个有向边关联的两个点也有始点和终点之分边没有方向的图称为无向图我们采用图的邻接矩阵来存储图(当然还有其他方法)在存储无向图时,需要注意的是:存储的边,需要有两个,例如:存储(a,b)边时,需要在图的邻接矩...

2019-11-05 22:12:55 1281

原创 qsort的用法

qsort()的用法:qsort()是在stdlib.h中的使用库函数排序的代码量并不比冒泡排序少,但速度更快void qsort(void * base,size_t nmemb,size_t size ,int(*compar)(const void *,const void *));调用格式:qsort(s, strlen(s), sizeof(char), cmp_char);...

2019-11-04 20:39:46 140

原创 P1067 多项式输出

这道题需要考虑的因素有很多比如,最大指数是正负数的处理,也就是输出的正负号还有当系数是1的时候当指数是1的时候当指数是1,且系数也是1的时候#include<stdio.h>int a[105];int main(){ int n; scanf("%d", &n); for (int i = 0; i <= n; i++) { scan...

2019-11-04 16:26:28 288

原创 散列表

散列表散列函数:即无论你给它什么数据,它都还给你一个数字。将输入映射到数字需满足:输入映射到的数字是一致的将不同的输入映射到不同的数字散列函数总是将同样的输入映射到相同的索引。散列函数将不同的输入映射到不同的索引散列函数知道数组有多大,只返回有效的索引。散列表就是依据散列函数和数组利用散列函数,来得到数组中的索引直接利用所得到的索引,访问数组中位置在python中,提供的...

2019-11-04 15:38:15 251

原创 分而治之

分而治之D&Cdivide and conquerD&C的工作原理:找出简单的基线条件确定如何缩小问题规模,使其符合基线条件基线条件是指函数不再调用自己,从而避免形成无限循环D&C并非可用于解决问题的算法,而是解决问题的思路编写涉及数组的递归函数时,基线条件通常是数组为空或只包含一个元素。陷入困境时, 请检查基线条件是不是这样的。分而治之最为具体的样例...

2019-11-04 14:48:47 181

原创 一些简单的算法

二分查找二分查找是一种算法,其输入是一个有序的元素列表如果要查找的元素包含在列表中,二分查找返回其位置;否则返回null仅当列表是有序的时候,二分查找才管用。一般而言,对于包含n个元素的列表,用二分查 找最多需要log2n步,而简单查找最多需要n步。def binary_search(list, item): low = 0 high = len(list)—1 w...

2019-11-04 14:46:32 310

原创 图的遍历

深度优先遍历的思想:首先以一个未被访问过的顶点作为起始顶点,沿当前顶点的边走到未访问的顶点:当没有未访问过的顶点时,则回到上一个顶点,继续试探别的顶点,直到所有的顶点都被访问过。深度优先遍历时沿着图的某一条分支遍历直到末端,然后回溯,再沿着另一条进行同样的遍历,直到所有的点都被遍历过为止这是遍历,而不是走一个通路需要把所有的点都进行访问#include<stdio.h>...

2019-11-03 22:20:27 149

原创 P1022 计算器的改良

有很多需要考虑的点比如说如果未知数前面没有数字,即默认1的处理当字符是’+‘和’='时,它会不会跳过,并进行i++处理还有未知数的选取时,未知数被复制到另一个字符数组里,会被复制几次还有解方程的基本步骤,左右移项的时候,数值要取反#include<stdio.h>#include<ctype.h>int main(){ char buf[100]...

2019-11-03 20:47:30 170

原创 图形库

图形库网址:www.easyx.cn图形库使用的是cpp文件。不是c文件

2019-11-03 16:33:30 161

原创 P1579 哥德巴赫猜想(升级版)

第一次尝试直接从2到n,三层循环,内层循环中判断i+j+k==n&&isp(i)&&isp(j)&&isp(k)当然,这样做,超时!第二次尝试使用埃氏筛法生成质数表,置一个素数表再生层素数表的时候,我才发现memset(a,0,sizeof(a));只能用来置0,不能置1和其他的;需要的时候,直接调用然后把三层循环改成两个判...

2019-11-02 19:56:22 194

原创 埃氏筛法生成质数表

埃氏筛法生成质数表不多逼逼这个用于制作素数表,比起简单的判断是不是素数,再加入表快多了// 用埃氏筛法生成质数表void prime(int b){ //初始化,默认全部都是质数 memset(book, true, sizeof(book)); book[1] = false;//1不是质数 int n = sqrt(b); for (int i = 2; i <= n...

2019-11-02 19:25:13 311

原创 P1217 [USACO1.5]回文质数 Prime Palindromes ※※※※※

方法一:先找出所有的素数然后判断是不是回文数这样做,会TLE#include<stdio.h>#include<math.h>#include<string.h>int isp(int n) //判断素数{ if (n <= 1) return 0; int m = sqrt(n); for (int i = 2; i &l...

2019-11-01 11:55:51 184

原创 枚举算法

枚举算法的基本思想:有序地去尝试每一种可能炸弹人基本就是把每一个点都遍历一遍然后判断就是最简单的枚举全部枚举//炸弹人的策略#include<stdio.h>int main(){ char a[20][21]; int i, j, sum, map = 0, p, q, x, y, n, m; scanf("%d%d", &n, &m);...

2019-10-31 21:51:13 371

原创 搜索算法

DFS为对一组数进行 全排列深度优先搜索#include<stdio.h>int a[10], book[10],n;void dfs(int step){ int i; if (step == n + 1) //如果已经选择完毕 { //则打印,所选数据 for (i = 1; i <= n; i++) printf("%d ", a[i]); ...

2019-10-31 18:59:30 194

原创 P1036 选数

#include<stdio.h>#include<cmath>int a[25];int sum = 0;int count = 0;int n;int k;void fun(int i, int p);int isp(int n){ if (n <= 1) return 0; int x = sqrt(n); for (int ...

2019-10-31 17:22:11 114

原创 栈、队列和链表

队列head记录的是队首位置tail记录的是队尾的下一个位置tail为什么不记录队尾,而是记录队尾的下一个位置?因为当队列只剩一个元素的时候,队头和队尾重合回答带来一些麻烦。因此,规定队首和队尾重合时,队列为空当出队,则head++当入队,则q[tail++]=入队数这样保证了head和tail之间的为队列中的有效数代码实现:#include<stdio.h>in...

2019-10-31 14:54:01 256

空空如也

空空如也

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

TA关注的人

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