自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 error open database QSqlError(“0“, “QODBC3: Unable to connect“, “[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN

error open database QSqlError(“0”, “QODBC3: Unable to connect”, “[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”)后来突然发现我MYSQL下载的是32位,而ODBC是64位,所以出现不匹配情况,然后我下载了一个32位的ODBC,在32位ODBC上再重新创建数据源,终于连接成功!

2023-12-23 19:43:32 630

原创 编译原理实验二:从NFA到DFA到最小化DFA再到词法分析程序 编程实现方法的详细解析

设计一个应用软件,以实现将正则表达式-->NFA--->DFA-->DFA最小化-->词法分析程序。这个程序基本完全原创,除了Qt控件的使用方法,其他没有参照他人的代码,是我一点一点敲出来的。写这篇文章的原因只是希望对你的思路有所启发,内容非常详细。

2023-11-05 03:25:32 447 3

原创 字符串的最小表示法

字符串的最小表示即将一个字符串S转换为它与它的循环同构中字典序最小的一个。什么是循环同构?即S中存在一个下标i使得 S[i...n-1]+S[0...i-1]=T,则S与T循环同构(将字符串切割为两个子串,将前子串和后子串换位拼接,或者理解为S循环左移或右移)。打个比方,与字符串"CDAB"循环同构的字符串有"BCDA","ABCD","DABC",其中字典序最小的是"ABCD",即为这四个字符串的最小表示。

2023-07-19 18:32:45 361

原创 求单源最短路径、长度及判断负环——SPFA模板

情景:给出一个有向图,请输出从某一点s出发到所有点的最短路径长度,若不可达,输出$2^{31}-1$(即URA)。为了方便,代码中将结点编号 1~n 改为 0~n-1,最后再以 1~n 输出。‘

2023-07-15 11:42:21 100

原创 求单源最短路径及距离——dijkstra模板

可以使用堆(priority_queue)对距离进行排序,这个距离是通过构建pair实现的,堆会对pair.first进行排序。值得注意的是,选取的堆顶距离若不是最小值,说明入队之后该点又经过最小值的更新,堆顶这个值不是当前的最小距离,所以舍弃这个值。思想:在原基础上设置前趋数组pre,当某个点更新最短距离时,使用pre保存其前趋结点,dijkstra运算结束后,可以从结点n往上回溯,由于回溯的顺序和输出顺序相反,所以使用栈stack保存和输出。使用堆优化后,复杂度为。

2023-07-13 16:22:30 74

原创 zoj 1083 Frame Stacking 解题报告

这题对于一般的拓扑排序难度有些许提升,因为还要输出所有序列。还好经过条理分析之后写得比较顺利,只WA了一次。导致那一次WA的原因是一开始我没有设置ans数组,以为只要深搜,然后像一般拓扑一样满足条件就输出就行,后来发现想错了,还是需要对序列进行处理。另外对于拓扑排序,课件中的例子是为一些有前置课程的课程安排时间表,其实也可以活用于这题。我们可以将这题想象成一个物品堆叠问题,需要先取出顶部的物品才能取走底部的物品,只是我们的视角是从底部往上看的。

2023-06-29 22:46:42 57

原创 zoj 1156 Unscrambling Images 解题报告

这是一道模拟,重点在于理清题意。加密的方法是不变的,也就是说,不管四分树是哪种形式,最终会得到一个从0开始,从左到右,从上到下按递增顺序排列的n x n的intensity矩阵,如下图:

2023-06-29 22:34:36 44

原创 CCF-CSP 202112-2序列查询新解 详细解析

详细解析CCF-CSP考试题目——序列查询新解

2023-05-12 16:43:05 209

原创 2022CSP-CCF前三题 现值计算、训练计划、JPEG解码解题分析

2022CCF-CSP计算机认证考试前三题分析(很详细!)

2023-04-28 10:44:38 283

原创 2023CSP-CCF前三题 田地丈量、垦田计划、LDAP解题分析

2023.03.19第29次CCF-CSP计算机认证考试前三道题的分析(很详细!)

2023-04-04 11:34:31 9106 2

原创 使用scanf输入string字符串的注意事项

个人推测使用在scanf输入字符串使用string.c_str()方法,是直接改变了字符串对象指向的char类型的一段地址,这时跳过了string规定的输入方式,无法改变string对象的长度等成员变量属性(这也是为什么字符串长度为0,判“==”失效,且用cout无法输出)。而string对cin输入进行了兼容,所以在输入值的同时,string对象的属性也随之改变了。研究用c和c++模式输入string。

2023-03-29 16:49:59 781

原创 十进制数转换为负进制数

我们需要不断用所给数除基数,获得一个余数,这个余数摆在最后一位,然后用商除基数再得新的商和余数,并不断将余数放在前一位,直到商为0。所以我们只需对每次算出的余数进行判断,若小于0,就令余数减去基数,除去基数得到的商再加1,否则按正常的方法转换。有些人编程运算发现怎么也得不到正确答案,那是因为,这样转换的前提是我们每次得到的余数是一个正数或0,而根据c++和java的特性,而不是-15%-2==1,商为8 && 15%-2==-1,商为-8,因为上面行商的绝对值更小。n=aR+b,a为商,b为余数。

2023-03-22 16:41:33 421

原创 已知二叉树前序中序遍历,建立二叉树并输出后序遍历序列(zoj1944、hdu1710)

介绍如何由二叉树的前序、中序遍历序列还原二叉树,并详细解析zoj1944、hdu1710

2023-03-02 16:41:40 1178 1

原创 【洛谷】P1145-约瑟夫

上次出列序号out+需要移动的距离dis,对sum取模,可以获得下次出列的序号,只要保证该序号大于等于k即是坏人出列。做法为用号数m对当前总人数sum取模再减一,获得本次报数起点需要向右移动的距离(dis,当距离为-1时向左移动)与最经典的约瑟夫问题略有不同,这题要求刚好使队伍后一半人全部出列。//括号内再加一个sum是为了对移动距离为-1时取模。这里我采用的是求出出队的人在当前队伍中序号的方法。当sum削减到k时说明坏人已全部出列。m可以不用逐级递增,而是使m满足。以省去必定不满足条件的m。

2023-02-20 23:41:22 488

原创 【洛谷】P1141-01迷宫

可以用bfs解决。考虑最耗时情况,bfs m次全图,时间应该是不够的。所以不如求出连通区域。以数组v作为与迷宫pos一一对应的连通表,再通过bfs时队列的特性:每次队列空时为一个连通区域,以此为界限,在循环外使sign逐渐递增,以达到每个连通区域的标记值都不同的效果。输入的迷宫标记内容每次遇到可标记的点都统计进入sum(目前连通区域的格子数),以哈希表形式存入答案数组ans,以降低查询时的复杂度。询问时得到对应坐标上的标记值,即可哈希打表直接得到答案。

2023-02-19 10:52:34 221

原创 POJ3176-Cow Bowling

一题基础的动态规划。用dp数组保存各个保龄球所在位置能得到的最高分,再从最后一行得出总的 最大分数。其中bo数组以样本形式存储每个保龄球的分数,dp数组与bo数组位置一一对应。

2023-02-16 18:23:01 51

原创 二叉树拷贝构造(递归与非递归)

算法思想:二叉树拷贝函数中调用一个拷贝函数,在拷贝函数中递归。不再需要队列,只要保持传入的结点在树中的位置相同就行。这里的本树的传参是指针引用,是为了本树的root在函数中能够成功被赋值。如果只是传指针,root的指向不会改变,会导致拷贝失败。算法思想:利用双队列,在检索被拷贝树的左右子树时,当前树的检索也保持同样的路径,即可依次拷贝树的结点。采用队列是为了往树的深处检索(每次出队的是当前已拷贝的子女的父亲)。

2022-10-30 10:40:26 383

原创 线性表逆置--顺序表\单链表逆置

分别介绍顺序表和单链表中元素逆置的方法。

2022-10-29 11:21:00 1030

原创 顺序栈计算器 中缀转后缀表达式

《数据结构(用面向对象方法与c++语言描述)第2版》书中虽有介绍计算后缀表达式的方法和中缀转后缀的方法,但这两个函数却是分离的,并未介绍输入一个中缀表达式,由类内部自动转化为后缀表达式并运算的方法。本篇简略介绍后缀表达式运算及实现上述流程。

2022-10-29 10:04:23 1350

原创 指针引用传参和指针传参,实参与形参,无法将参数从int*转换为int*&

通过一个具体案例探究指针引用传参和指针传参的差异,以及引用的特性。部分初学者存在一个误解,认为传入指针就能一定修改与该指针相关的变量的值,实际上向函数传入指针,指针形参和实参有同个值(变量地址),所以能通过地址对所指变量进行修改,但它们本身仍遵循函数参数传递的规则,即函数内的指针形参改变了值(形参指针指向了另一个变量),实参指针的值(指向)不会改变。

2022-10-26 20:15:21 641 1

空空如也

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

TA关注的人

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