自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 PAT甲级考纲(最少的时间换尽可能多的分数)

下面的考纲从最重要的、考试概率最大的开始讲起,用最少的时间得最多的分数。祝大家考一个好成绩!图论算法★★★★★图论算法几乎每年都有,99%会考,剩下1%是出卷老师啊想晃你一下。搜索算法DFS/BFS★★★★假如出题老师手下留情,可能会出图的搜索问题。搜索算法一般以DFS和BFS为主,简单一点就是纯算法,难一点就是加上各种条件和剪枝。无论是在上机考试还是在PAT中,都属于基础题目,不一定出,...

2020-04-05 12:54:56 3275 6

原创 Flask下查看URL映射

打开python shell输入python查看映射关系from hello import appapp.url_map其中引号内的是路由地址,中间的(GET, OPTION, HEAD)对应请求方法,最右边的是视图函数名

2021-10-26 11:22:59 517

原创 Django新建app时报TypeError: unsupported operand type(s) for /: ‘str‘ and ‘str‘ 错误

报错提示:解决方案:打开Django项目下的settings.py文件,定位到下面的位置将斜杠改为逗号即可

2021-05-19 11:47:46 509

原创 Conda导入环境时 ResolvePackageNotFound错误

错误信息:环境配置文件是在别的机器上导出的,文件里的软件包是按照那个机器配置的,导出的时候,把这些包的详细信息也导了出来。也就是第二个等号后面跟着的信息,当我们按照这个文件创建环境时,conda会结合我们机器的配置信息,按照配置文件里包的详细信息,去找这个包,结果发现“查无此包”。解决方法:删除包的具体信息,即包名称第二个等号及后面的内容,如下图所示,这样就可以顺利导入环境了...

2021-04-16 22:56:03 28477 23

原创 打开tomcat主页显示 404错误

访问localhost:8080时 居然连tomcat首页都无法打开,但是启动服务都是正常的,网上查了很多资料,也没找到对应的问题原因其实很简单,tomcat的资源存储在本地 webapps文件夹下,而我之前恰好把webapps下除了自己的项目以外所有文件都删除了tomcat首页对应的文件是ROOT,还原回去就可以正常打开...

2021-04-04 11:02:46 856

原创 ceil函数(返回大于当前数的最小整数)

头文件:math.h用法:ceil(2.002) //返回3ceil(2.9) //返回3对于一些不确定精度的浮点数而言,该函数十分方便使用

2021-03-31 15:17:10 864

原创 JS中isNaN解析

用于判断一个变量是否为非数字的类型,返回true或falsevar temp=21;console.log(isNaN(temp));var temp1='not number';console.log(isNaN(temp1));

2021-03-30 10:39:04 171

原创 浮动的基本使用

如果一个网站只有标准文档流,很多效果是不能实现的,如果要实现非标准特点的页面就必须让标签去标准化,让标签脱离标准流,这时浮动便发挥作用了简介浮动属性是专门用来进行网页并排布局作用:脱离标准文档流,不在受元素等级的限制,既可以并排显示,又可以设置宽和高float :属性就是设置元素浮动属性值:left 、right示例<!DOCTYPE html><html lang="en"><head> <meta charset="UT

2021-03-25 09:19:49 221

原创 id选择器解析

鉴于标签选择器只能进行全局设置,而我现在想要对于同一标签在不同位置有不同的设计样式,所以这次学习下id选择器id选择器通过标签上id属性进行选择,作用范围:只针对一个标签id其实就是标签的身份证号,具有唯一性,规定一个页面中不允许有同名id属性优点:id属性的权重高 缺点:只能实现单选书写语法:# id 属性值(自定义)示例<!DOCTYPE html><html lang="en"><head> ...

2021-03-23 10:31:45 3307

原创 PAT1137 Final Grading 两个测试点不通过,仔细读题

第一遍没有仔细看题目,题干中提到的最终成绩不小于60,不是指Gfinal不小于60,而是计算后的G不小于60,卡了好久了,半天没看出哪里问题,final grade 和Gfinal太误导人了怪自己太菜了≡(▔﹏▔)≡,下面是AC代码#include<iostream>#include<vector>#include<cstdio>#include<algorithm>#include<unordered_map>using na

2020-09-02 22:50:46 272

原创 PAT中的进制转换问题(万能法)

进制转换的种种类型,归根到底无非是D进制到十进制的转换和十进制到N进制的转换。结合上面的两种方法,可以解决几乎所有进制问题,下面直接给出模板D进制到十进制的转换int x=1103,result=0,radix=1;//x为要转换的数,result存最终结果while(x!=0){ result+=(x%10)*radix; // x/=10; //从右往左取每一位 radix*=d; //d即为D进制}十进制到D进制的转换采用除基取.

2020-08-26 19:24:27 216

原创 PAT 甲级1031 Hello World for U 关系式推导

这道题的关键在于对底部宽度和高度之间关系的理解,加之题中使用英语给出的关系,特别难以读懂对于max函数,可以直接理解成n1=n3=k<=n2,结合之后的关系式,然后经过画图发现,输出图形的高度=(字符串长度+2/3)有了高度,剩下分两步输出图形即可:输出底部之上的,循环次数为high-1,中间空格的个数为len-2*(high-1)-2,其中len为字符串长度 输出底部,字符串起始下标为high-1,长度为len-2*(high-1)#include<iostream&gt..

2020-08-26 10:56:02 128

原创 PAT 甲级 1081 Rational Sum 分数处理问题

分数问题,一些小细节的处理特别麻烦,我这里采用的是别人整理好的系统化的方法来进行处理,下面讲解一下思路:这里的分数同一采用假分数的形式来处理,并且规定分母都为正,即如果分母为负数,上下同时取反,数0的写法为分子为0,分母为1 化简时,求出分子分母的最大公约数(PS:这里规定求解时都转化成正数,有兴趣的可以百度一下负数的gcd就明白了),然后同时除以最大公约数即可 关于输出最后的结果,有下列三种情况:分母为1,表示结果为整数,输出分子即可 分子大于分母,转为带分数的形式,注意这里符号和整数部分..

2020-08-23 21:48:42 150

转载 STL中multiset用法(重复元素集合)

转载自https://blog.csdn.net/sodacoco/article/details/84798621c++语言中,multiset是库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn) 的时间内完成,而且他能时刻保证序列中的数是有序的,而且序列中可以存在重复的数。应用#include<string>#include<io...

2020-08-15 20:02:35 588

原创 PAT1076 Forwards on Weibo BFS+图

思路:有向图的bfs搜索,注意题目的逻辑关系,即谁可以转发谁,因为数据量比较大,邻接矩阵存储然后遍历每个点的话代价太大,不过题目时间给了三秒....如果时间要求高的话,应改用邻接表存储,直接判断一下当前的人有多少次被关注就行,不用一一判别,省很多时间。注意每次查询之前需要更新inqueue数组,所有点设置为未访问#include<iostream>#include<queue> using namespace std;struct node{ int d...

2020-07-10 19:11:48 136

原创 PAT甲级1107 Social Clusters 1、4样例没过解析

观察样例,发现A、B、C三人,即使A和C并没有共同爱好,但他们和B都有共同爱好,所以他们也属于同一个集合因此我考虑将有关联的爱好捆绑在一起:合并一个人的所有爱好,只要A和B的爱好有交集,那么他们的所有爱好都会被绑定到一个集合中统计人数时,取每个人的第一个爱好(题目保证每个人至少一个爱好),找到该爱好所属的集合的根,将根的值放入result,累加一次num[r];最后将每个集合对应的人数放入out,排序一下输出即可但是提交后发现,1、4样例无法通过,检查了半天思路并没有问题啊...很纳闷,最...

2020-07-02 09:28:14 305 2

原创 PAT1034 Head of a Gang 并查集实现

利用并查集来实现,一个重要的思想是,对于一个集合而言,将该集合所有有关的信息捆绑到根节点上,当数据发生变化时,我们只需要修改该集合下根指向的数据即可姓名和编号的转换我利用的是map<string,int> ,相应的编号转到姓名为map<int,string>题中还有一个关于回路问题,转换到并查集中就是当前处理的两个结点在同一集合中,这时更新当前集合的总通话时间和首领信息和两个集合合并情况并不一样,注意区分,详细解析见代码#include<iostream&g...

2020-06-30 20:45:26 200

原创 PAT甲级1151 LCA in a Binary Tree LCA+DFS

LCA问题在常规树中的实现,思路和1143一样,本体主要要解决的就是递归子树边界的问题我采用的map映射的方法,将中序遍历的结点值映射为下标位置,那么如果用下标来代替结点值的话,当前的树便是一颗bst树了利用这个特性,比较映射值便可以判断左右子树的关系#include<iostream>#include<vector>#include<unordered_map>#include<cstdio>using namespace std...

2020-06-29 16:54:54 2573

原创 PAT甲级1143 Lowest Common Ancestor BST+LCA

本想建树然后通过递归左右子树的形式去做,但是发现题中说明最多有一万个结点,写完以后果然超时....判别LCA的方法判断当前的两个点的位置情况,如果一个在左子树,一个在右子树,那么根便是最小公共祖先;如果都在左子树,递归左子树判断;如果都在右子树,递归右子树判断;如果一个就是根,那么它便是最小公共祖先解决超时方法:由于题目告知是bst树,其实只需要比较结点值便可以确定左右子树的关系。但是递归时根结点的判断比较麻烦。主要有如下两种情况:1.都在左子树,那么左子树的根下标就是当前的..

2020-06-29 16:43:44 183

原创 PAT甲级1127 ZigZagging on a Tree 层序遍历

思路:层序遍历然后结果,要求是遍历顺序是不同深度采用不同的顺序(假设第二层是从左到右,那么第三层就是从右往左)其实只需要给每个结点加一个深度信息即可,由于层序遍历必然同一深度在一块区间,因此将每个区间分开保存,上一层是从左到右,那么当前层是从右到左输出(反转一下即可)代码#include<iostream>#include<queue>#include<vector>#include<map>#include<algori...

2020-06-28 20:53:40 162

原创 PAT甲级1147 Heaps

思路:1.判断堆的类型通过按层序遍历顺序遍历一遍这棵树,如果子树结点值大于根,则maxheap置为false;类似的,如果子树结点值小于根,则minheap置为false最后根据minheap和maxheap的值输出相应结果2.后序遍历就是常规的方法,不同在于堆结构在数组中实现,根据下标遍历代码#include<iostream>#include<vector>#include<queue>using namespace std;vector<i.

2020-06-19 19:38:18 158

原创 如何彻底关闭VMware Workstation

在运行完虚拟机后,发现就算在关闭程序后一直开启着相应的服务,抢占系统资源,下面给出彻底关闭虚拟机的方法首先打开软件打开【编辑】工具,找到首选项定位到工作区显示托盘程序改为:当虚拟机开机时然后直接关闭软件可以看到已经关闭了最后打开任务管理器找到在后台运行的进程:以VM开头逐一关闭,这下就不用担心虚拟机在不运行的时候抢占系统资源了...

2020-06-07 20:48:58 24438 13

原创 微机原理 接口部分编程题复习

某系统中8253芯片端口地址为FFF0H~FFF3H。计数器0工作在方式2,CLK0=2MHz,要求OUT0输出1kHz的脉冲;计数器l工作在方式0,对外部事件计数,每计满100个向CPU发出中断请求。试写出8253的初始化程序。对于计数器0 ,二进制方式计数MOV DX,0FFF3H ;写控制端口MOV AL, 00110100B ;写控制字OUT DX, AL MOV AX, 2000 ;计数初值MOV DX,0FFF0H ;计数器0端口OUT DX, AL ;先写低

2020-06-05 16:15:17 2732

原创 微机原理期末汇编部分编程题复习

1.设数据段ARRAY单元开始有50个有符号数的字节数,要求统计其中负数的个数,并存入到数据段中的RESULT变量中。写出实现该功能的汇编程序DATA SEGMENT ARRAY DB 1,2,3,4,-1……RESULT DB 0 ;统计负数的个数DATA ENDSCODE SEGMENT ASSUME: CS: CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX LEA SI, AR

2020-06-05 16:10:07 2243

原创 微机原理选择题复习4

1.执行下列程序段后,(AX)= B。TAB DW 1,2,3,4,5,6ENTRY EQU 3 ;ENTRY赋值为3MOV BX, OFFSET TABADD BX,ENTRYMOV AX,[BX]A) 0003H B) 0300H C) 0400H D) 0004H2.INC 指令不影响 __B___标志。A) OF B) CF C) ZF D) SF3.执行下列指令后:STR1 DW ‘AB’STR2 DB 16 DUP(

2020-06-05 15:48:43 1802

原创 微机原理选择题复习 3

存储器分段时表示偏移地址是18位二进制代码,则一个段最多有( )A.128KB B.256KB C.512KB D.1MBIntel 8086CPU的地址线有( )A.8位 B.16位 C.20位 D. 32位伪指令在程序( )阶段被处理A.编写 B.汇编 C.连接 D.运行可能改变标志寄存器的值的指令有( )A.LODSB B.LODSW C.POP D.POPF如果当前(BL)=57H,执行指令ADD ..

2020-06-05 15:43:19 1465 6

原创 微机选择题复习 2

1、一般,微机系统硬件由___部分组成,包括__A____。A.CPU、存储器、I/O设备和接口电路B.存储器,控制器和显示器C.运算器和显示器D.存储器,运算器,显示器和键盘2、80X86微机系统有三条总线,它们是____A_____。A. 地址总线、数据总线和控制总线B. 地址总线、信息总线和存储器总线C. 输入总线和输出总线D. 单总线、面向微处理器双总线和面向存储器双总线3、80X86微机中用来指出下一条要被执行指令的偏移地址的部件是_ D 。A.CS B.DS C.ES

2020-06-05 15:35:18 1228

原创 微机选择题部分复习1

设字长N=16,有符号数7AE9H的补码表示为( D )A. 9EA7H B. 76C4H C. 8417H D. 7AE9H比较有符号数3260H与0B425H的大小关系为( C )A. 相等 B. 小于 C. 大于 D. 不能比较指令JMP WORD PTR [BX][DI]中转移的目标地址为( A )A.16 d x(DS)+(BX)+(DI) B.16d x(ES)+(BX)+(DI)C.16d x(SS)+(BX)+(DI) D.16.

2020-06-05 15:28:44 1114

原创 微机原理 判断题练习

1.段间调用的子程序必须由伪操作FAR说明为远过程。 对2.PC机以位作最小寻址单位。 错3.当SRC是立即数时,DST可以使用存储器寻址。 错4.指定各个逻辑段偏移地址可以使用ORG伪指令。 对5.LOOPE/LOOPZ是相等/为零时转移到标号,其退出条件是(CX)=0或ZF=0。== 对==6.POP IP 对7.设327FH和0BFFFH为有符号数的补码表示,则327FH < 0BFFFH 错8.多个模块间的符号交叉引用要用

2020-06-03 21:21:21 1914

原创 Codeup 并查集之问题 D: More is better

分析本题要求我们算出每个集合中的元素个数,然后输出元素个数的最大值元素个数的计算,我采用的思路是:noc数组记录结点拥有的孩子结点数遍历每个结点,找到他的根结点,将noc【ff( i )】递增每次递增完判别一下是否大于max,是则更新,最后输出max即可#include<iostream>using namespace std;int father[100005];int noc[100005];void init(){ for(int i=1;i<10000

2020-05-31 12:04:41 266 2

原创 Codeup 并查集之问题 C: How Many Tables

题目翻译:今天是小明的生日。他邀请了很多的朋友。到了吃晚饭的时间,小明想要知道他至少需要多少张桌子。你需要注意并不是小明所有的朋友都互相认识,并且他们都不想自己和陌生人坐在一起。这里有一条重要的规定:如果A认识B,B认识C,这意味着A、B、C互相认识,所以他们可以坐在同一个桌子周围。举个例子:如果告诉你A认识B,B认识C,并且D认识E,因此A、B、C可以呆在一个桌子,D、E可以呆着一个桌子。针对这种情况,小明至少需要2张桌子。分析:利用并查集求出集合数,输出即可#include<iostr

2020-05-31 11:06:06 460

原创 Codeup 并查集之问题 B: 畅通工程

分析我们可以把有道路能达到的两个城市看作一个连通块,那么题中要求的就是连通块的数量。假设有n个连通块,那么只需要在两个连通块间建一条路就可以满足要求,因此最后输出n-1就是要求的答案转换到并查集中就是集合数-1#include<iostream>using namespace std;int father[1010];bool isroot[1010];int cnt;void init(){ for(int i=1;i<1010;i++) {

2020-05-31 10:44:12 152

原创 Codeup 并查集之问题 A: 通信系统

思路:利用并查集建立起端点与端点的关系题目要求:1.某个端点生成后,其余各个端点均能接收到消息这句话转换到并查集的思想就是所有的端点应该在一个集合之中,如果存在多个集合,因为集合和集合之间并没有数据链路连通,所以无法传递消息2.并且每个端点均不会重复收到消息这其实就是合并集合的时候,当判断两个结点的根结点为相同时,意味着两个端点之间存在两条链路,构成一个环,只需要记录一下环的数量最后判别即可写的时候注意路径压缩,亲测路径压缩后时间复杂度下降为原来的十分之一#include<iostre

2020-05-30 22:53:06 176

原创 PAT甲级1093 Count PAT

pnum【i】记录对于下标为 i 的位置,其左边的 ’ P ’ 个数;tnum【i】记录对于下标为 i的位置,其右边’ T '的个数;然后对于每个’A’,以当前A为中心的PAT组合个数就是pnum【i】*tnum【i】,对每个A计算该值,然后累加,输出最后结果即可#include<iostream>#include<cstring>#include<vector>using namespace std;int main(){ string s;.

2020-05-29 22:48:24 132

原创 Call far ptr指令执行时,依次压入堆栈内容

该指令执行时,依次会向堆栈压入:标志寄存器,CS和IP为什么要压入标志寄存器?call指令虽然不涉及标志寄存器。但是call指令的本质,它是一条跳转指令,目的是跳到子程序去执行,而子程序是可以改变标志的。因此需要把标志寄存器也压入堆栈。...

2020-05-23 20:49:16 2335 1

原创 PARA指令

伪指令——段定义(定位类型方式)规定在定位时每个段的起始地址总是16的整倍数,最后四位二进制数一定是0 。这种定位方式最简单,但段间往往有空隙(最多为15个字节)。缺省定位方式是按PARA定位。举个例子:DATA SEGMENT PARA上述指令的作用是存放段DATA的内存首地址正好是16的整数倍。...

2020-05-23 20:10:00 3522

原创 8086CPU中指令RET与IRET区别

ret 是普通的子程序的返回指令。也可以叫做近返回,即段内返回。处理器从堆栈中弹出IP或者EIP,然后根据当前的CS:IP跳转到新的执行地址。如果之前压栈的还有其余的参数,则这些参数也会被弹出。iret 是中断服务子程序的返回指令。用于从中断返回,会弹出IP/EIP,然后CS,以及一些标志。然后从CS:IP执行。...

2020-05-22 20:54:36 10956 2

原创 已知中序遍历和层序遍历重构树

问题描述:已知一棵树的层序遍历结果是1 2 3 4 5 6 7;中序遍历结果是6 4 2 5 7 1 3,那么如何重构这颗树呢?求解思路:层序遍历和前中后遍历不同的一点在于左右子树的结点是混合出现的因此在递归建树的过程中关键的一点就是将左右子树分割出来算法设计首先需要知道层次排序第一个出现的是根结点然后在中序序列中找根结点的位置,记录到k中,那么其左边的结点属于左子树,右边的结点属于右子树接下来遍历levelorder数组,对于每个数字,判断其是否在左子树中,即(是否在inorder

2020-05-22 17:15:07 956

原创 8259A中断初始化编程

8259A编程包括两部分:初始化命令编程和操作命令编程计算机系统复位以后、使用8259A之前需要对其初始化命令字编程,以确定8259A的基本操作操作命令字编程是在8259A正常工作时写入,对8259A的状态、中断方式和过程进行动态控制首先,我们需要认识初始化命令寄存器组,包括四个:ICW1、ICW2、ICW3、ICW4 为了有一个直观的认识,下面放上初始化流程图初始化命令字下面开始学习初始化方式,这里不考虑级联方式,所以学习的只是ICW1、ICW2、ICW4的写入方法ICW1

2020-05-21 23:10:41 11420

原创 8086系统中的I/O端口编制方式

CPU通过地址识别端口,端口地址也称为端口号。为I/O端口分配地址称为编址。I/O端口的编址方式有两种:与存储器统一编址独立编址方式统一编址这种方式又称为存储器映射编址方式。它将I/O端口作为内存单元对待,由CPU统一分配地址。通 常在CPU的地址空间中划出一部分作为输入输出系统的端口地址范围,不再作为内存地址使用。优点:访问I/O端口和访问内存单元一样,所有访问内存的指令都可以访问I/O端口,不用设置专门 的I/O指令;也不需要专用的I/O端口控制信号,简化了系统总线。利用数据传送指

2020-05-21 14:55:07 15311

空空如也

空空如也

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

TA关注的人

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