03 2021 档案
摘要:析构函数 析构函数存在的意义 析构函数是对撤销对象占用的内存之前完成的一些清理工作,而不是所谓的删除对象(个人理解:这些清理工作相当于把某种联系给拔除了,从而方便内存的撤销) 其他 类的设计者可以通过设计析构函数来完成自己在删除对象前想要看到的操作 在没有定义析构函数的情况下,编译器会自动定义出析构
阅读全文
摘要:并查集 特点 根节点的父节点是自己 ##材料准备 fa[x]表示的是x的父节点。 操作 找到根节点 ####一般路径 借用递归(根节点的父节点是自己) int find(int x) { if(fa[x]==x)return x; else return find(fa[x]); } 缩行 int
阅读全文
摘要:PTA高精度除法 思路 转化:首先将两个字符数组A,B(逆序)转化为整数数组a,b。 取出数组a的长度记为lena,取出b数组的长度记为lenb。且lena>lenb 把除法理解成多次的减法 进入循环 自高位向低位匹配相减 注意:在数组相减过程中是需要对是否减的了进行检测的。(直接相减会破坏被减数组
阅读全文
摘要:区块链(了解) ##去中心化交易 现实生活中,有些交易是需要中间见证者(银行、钱庄)的参与,来对交易存在做一个记录,而区块链技术取消了这种中转站。 ##分布式账本 每个人(节点)都要一份记录自己(本节点)和他人(其他节点)交易记录的账本(从而避免了他人抵赖的可能) 既然自己的账本记录了他人的交易记录
阅读全文
摘要:#堆排 原理:除去底层,一个一个由三个点结合而成的小三角进行内部的比较 发生位置变化的时候,又会从上向下一个个小三角形的进行比较 ##代码 #include<iostream> #include<stdio.h> using namespace std; #define Max 2000000 in
阅读全文
摘要:读书笔记—《暗时间》 第一篇-暗时间 ###暗时间 要以一个人的思维时间去评价一个人的成熟度,而非一个人的实际存在时间。因为一个人的成熟是由思考来不断推动的,而非时间强硬堆积而成。 任务与任务切换的过程是需要消耗暗时间,新任务的开始会抑制原本工作于旧任务的记忆,而再次恢复旧任务的时候,需要额外花费时
阅读全文
摘要:最小生成树 思路 沿某一点绕一圈,遇到最小的点往路径最小的点走 并用p[]数组来记录该点的父结点 p[v]=u(表示v的父节点是u),方便求出路径和sum+=G[i][p[i]] 如果说p[v]=提前设定好的值,也就是说它没有被改变,那么要么这个点是出发点,要么这个点是被“隔离”的。 加强理解的手段
阅读全文
摘要:#用vector实现邻接表 #include<iostream> #include<stdio.h> #include<vector> using namespace std; int main() { vector <int > G[101]; int n,m; cin>>n>>m; for(in
阅读全文
摘要:用栈的方法实现深度搜索 #include<iostream> #include<stdio.h> #include<stack> #define N 100 int n; int tt; int m[N][N];//用二维数组存图 int nt[N],color[N],d[N],f[N]; stat
阅读全文
摘要:PTA旋转骰子 ##题目描述 玛莎有n个骰子,每个骰子的6个面上都恰好有一个0到9之间的数字。 现在玛莎将利用这n个筛子来制作新数字。她把n个骰子摆成一排,然后从左到右查看骰子的上表面并读取,即可得到一个新数字。随后她不断的旋转每个骰子的面就可以得到不同的新数字。旋转骰子需要满足以下规则: 1、制作
阅读全文
摘要:PTA可怕的素质(单向链表法) ##可怕的素质 亚克星球上的人的素质跟我们福大人比起来,可以说是一个天上,一个地下了。他们去食堂吃饭的时候,很多人都不好好的排队,而是排在某个熟人的后面,或者直接就插到队伍的最前面。这让食堂的工作人员很是恼火。 输入格式: 第一行包含一个整数n(0<n<1000),表
阅读全文
摘要:PTA美丽数列 小明是个普通的计算机本科生,很喜欢研究数列相关的问题。在他的认知里,美丽的数列是这样的,对于一个长度为n的数列a,存在一个下标i(1<=i<=n)使得1i之间的数是严格递增的,i+1n之间的数是严格递减的。现在这个数列a里的元素是随机给定的(这个数列可能是不美丽的),对于数列a内的任
阅读全文
摘要:#PTA 最少分成几组 给定一个包含n个数的数列,由a1,a2,....,an组成,现在将这n个数分成若干组,使得每组中任意两个数|ai-aj|>1,(i!=j)。这个数列中的n个数最少可以分成几组呢? 输入格式: 第一行包含一个整数n(1≤n≤1000)。 第二行包含n个整数a1,a2,...,a
阅读全文
摘要:数据结构-链表 ##链表 ###1.结点 ####组成成分 数据域 指针域 struct 结构体名称 { 数据域 //指针域 sturct 结构体名称* next; } ###2.头指针 指向链表头 ###3.尾指针 指向空指针(NULL) #静态链表 建立静态链表 ###1.头 head=&头指针
阅读全文
摘要:#可怕的素质 亚克星球上的人的素质跟我们塞亚人比起来,可以说是一个天上,一个地下了。他们去食堂吃饭的时候,很多人都不好好的排队,而是排在某个熟人的后面,或者直接就插到队伍的最前面。这让食堂的工作人员很是恼火。 ##输入格式: 第一行包含一个整数n(0<n<1000),表示有n个亚克星球上的人去食堂吃
阅读全文
摘要:图论-存取图的技巧-按起点分类 边的三个要素 边(权值)(暂时不考虑) 起点 终点 新增元素 连接到上一条起点相同的边的传送门 以某结点为起始结点的当前线段的序数 思路 每读入一条线段,把以该线段起点的当前线段的序数连接到当前读入的这一条上(从而实现与上一条具有相同起点的边的联系),并进行更新,
阅读全文
摘要:C++结构体内重载、this指针和友元函数(初步了解) 结构体内重载 就笔者目前情况下看,当我需要对结构体进行排序时,需要另外创造一个函数来对结构体在某些值进行比较比较。而结构体内重载运算符能改变这样的编程路数,提高数据和数据之间的耦合程度。 this指针(暂时没用,类似python的self) t
阅读全文
摘要:数据结构—造树计划—二叉搜索树 定义 struct node{ int val; node *lch, *rch; }; 功能 ###插入 使命:值val 思路:若值小于当前结点的值,则该点移向该节点的左儿子树(p->lch = insert(p->lch,x) 情况: 到底了(到达目的地),直接创
阅读全文
摘要:#PTA顺序的分数 ##题目 ###题目描述 输入一个自然数 n,对于一个最简分数 a/b(分子和分母互质的分数),满足 1≤b≤n,0≤a/b≤1,请找出所有满足条件的分数,并按分数值递增的顺序输出这些分数。 输入格式: 输入一个正整数 n(1≤n≤160)。 输出格式: 每个分数单独占一行,按照
阅读全文
摘要:PTA兼容任务 题目描述 设有n个任务,其中每个任务有一个起始时间si和一个结束时间ei,且si<ei,同一时间只能完成一个任务。如果选择了任务i ,则它在时间区间 [si ,ei) 内占用资源。若区间 [si ,ei) 与区间 [sj, ej)不相交,则称任务 i 与任务 j 是相容的。那么,对于
阅读全文
摘要:PTA航船 题目描述 航船游戏中,风向每个单位时间会改变一次,每次航船可以选择顺风前行一个单位距离,也可以选择原地不动。游戏时长为 t,请你计算从起点出发,最终到达终点所需要的最少移动次数。如果游戏结束也到达不了终点,则输出-1。 输入格式 第一行包括一个正整数 t(1<=t<=100000)。 第
阅读全文
摘要:python调包——hashlib加密 #加密 md5 sha1 sha256 sha512 import hashlib msg ="hello world" md5 = hashlib.md5(msg.encode('utf-8'))#之所以选择用utf-8对msg进行编码,是因为考虑到了msg
阅读全文
摘要:初识-图论基础+拓扑排序的实现 图的存储和表示 方法一:邻接矩阵 g[i][j]=1表示点i和点j是连通的 无向图: g[i][j]=1并且g[j][i]=1 有向图: g[i][j]=1只考虑单一的位置 缺点:会花费n*n的空间,当n很大的时候,花费量会变得巨大 另外,由于某点到本身的连接时是没有
阅读全文

浙公网安备 33010602011771号