自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PAT刷题库

PAT浙江大学计算机程序设计能力考试:1、PAT (Basic Level) Practice (中文)2、PAT (Advanced Level) Practice3、PAT (Top Level) Practice持续更新中。。。。。。

2021-05-27 12:00:20 356

原创 蓝桥杯 双向排序【省赛】【研究生组】

可以结合AcWing的视频讲解深入理解:AcWing 3419. 双向排序(蓝桥杯C++ AB组辅导课) - AcWingC++解答:#include<iostream>#include<utility>#include<algorithm>using namespace std;#define N 100010pair<int, int> stack[N]; //存储可以执行的操作的栈int ans[N]; // ...

2022-03-16 17:32:37 923

原创 杨辉三角的打印(一维数组)与组合数公式计算

杨辉三角是二项式系数在三角形中的一种几何排列。如下展示: 1 n=1 1 1 n=2 1 2 1 n=3 1 3 3 1 n=41 4 6 4 1 n=5 ... ...其特点是:每一行的第一个和最后一个都是1,每个数等于它上方两个数之和。利用C++实现杨辉三角的打印输出:#include<iostream>#include<vector>using namespace std;i

2022-03-09 20:25:05 709

原创 C++最全复数运算符重载

C++语言程序设计中,有关运算符重载的相关规则与方法请参考:https://blog.csdn.net/PingBryant/article/details/123089725?spm=1001.2014.3001.5501史上最全C++复数运算符重载代码如下:#include<iostream>using namespace std;class Complex{ public: Complex(double x=0.0, double y=0.0); //构造函数

2022-02-24 14:41:58 793 1

原创 运算符重载

运算符重载的规则 思考:用“+”、“-”能够实现复数的加减运算吗? 实现复数加减运算的方法: ——重载“+”、“-”运算符 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。 C++ 几乎可以重载全部的运算符,而且只能够重载C++中已经有的。 不能重载的运算符:“.”、“.*”、“::”、“?:” 重载之后运算符的优先级和结合性都不会改变。 运算符重载是针对新类型数据的实际需要,对原...

2022-02-23 16:24:00 663

原创 深度学习Pytorch入门:神经网络模型的参数初始化操作

本文重点其实如果我们使用 pytorch 封装好的网络层的时候,我们并不需要对模型的参数初始化,因为这些都是 pytorch 帮助我们完成的,但是如果我们自己搭建模型(不使用 pytorch 中的封装好的网络层)或者对 pytorch 中封装好的模型初始化参数不满意,那么此时我们对模型进行参数初始化。用 pytorch 已经封装好的层来搭建网络模型import torchimport numpy as npfrom torch import nnclass Simple_net(nn.Modu

2021-11-30 18:18:18 2694

原创 PAT 1031 查验身份证 (15 分)

题目描述一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。输入格式:输入第一...

2021-09-09 15:35:11 144

原创 链式队列的实现

链式队列的概念1.1 链式队列的定义链式队列是基于单链表(带头结点)的存储表示实现的队列。1.2 链式队列中各元素的逻辑及存储关系链式队列可以采用单链表作为其存储表示,因此,可以在链式队列的声明中用单链表定义它的存储空间。 链式队列的队头指针指向单链表的第一个结点,队尾指针指向单链表的最后一个结点。 注:链式队列的队头元素存放在单链表的第一个结点内,若要从队列中退出一个元素,必须从单链表中删去第一个结点,而存放着新元素的结点应插在队列的队尾,即单链表的最后一个结点后面,这个新节点将成为新的

2021-09-07 17:20:05 2334

原创 ROC曲线与AUC值

根据上一篇博文(如何解释准确率、精确率与召回率?)中对相关概念的定义,引入“真正例率”(True Positive Rate,简称TPR)和“假正例率”(False Postive Rate,简称FPR)。TPR和FPR的定义为:假正例率:对应的是真实负样本中分类结果为正样本的比例;真正例率:对应的是真实正样本中分类结果为正样本的比例。ROC曲线(接受者操作特性曲线,receiver operating characteristic curve)的横坐标为假正例率,纵坐标为真..

2021-04-19 16:58:13 3294

原创 如何解释准确率、精确率与召回率?

对于二分类问题,机器预测的和实际的还是会有所偏差,所以我们引入以下几个概念来评价分类器的优良。首先有关TP、TN、FP、FN的概念。TP与TN都是机器(预测)分类分对了的情况,TP是预测为正类且预测正确,TN是预测为负类且预测正确。FP与FN都是机器(预测)分类分错了的情况,FP是把实际负类分类(预测)成了正类,而FN则是把实际正类分类(预测)成了负类。(T则代表分类正确,F代表分类错误;P代表全体类中实际正类,N代表全体类中实际负类。)【举例】一个班里有男女生,我们来进行分类,把女生看成正类,男生

2021-04-10 02:10:41 35341 2

原创 01背包问题详解

问题描述有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数vi,wi,用空格隔开,分别表示第i件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000...

2021-03-27 02:21:46 685 1

原创 N皇后问题(递归、非递归回溯法;位运算求解N皇后)

N皇后问题n−皇后问题是指将n个皇后放在n×n的国际象棋棋盘上,使得皇后之间不能相互攻击到彼此,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数n,请你输出所有的满足条件的棋子摆法,以及一共有多少种能够满足条件的棋子摆法。数据范围1<=n<=20<iframe src="//player.bilibili.com/player.html?aid=374837176&bvid=BV1HZ4y1A7uV&cid=31450078...

2021-03-25 04:18:55 1695

原创 二叉树的镜像(递归 + 非递归)

题目输入一个二叉树,将它变换为它的镜像。样例输入树: 8 / \ 6 10 / \ / \ 5 7 9 11 [8,6,10,5,7,9,11,null,null,null,null,null,null,null,null] 输出树: 8 / \ 10 6 / \ / \ 11 9 7 5 [8,10,6,11,9,7,5,null,null,null,null,null,null,null,nu

2021-03-24 17:15:42 279

原创 两个链表的第一个公共结点(双指针法、异步走法 )

题目输入两个链表,找出它们的第一个公共结点。当不存在公共节点时,返回空节点。样例给出两个链表如下所示:A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3输出第一个公共节点c1题解1. 用两个指针 p1,p2 分别指向两个链表的头结点 headA,headB ,同时向后遍历。2.

2021-03-23 01:42:34 330 1

原创 把字符串转换成整数

题目请你写一个函数 StrToInt,实现把字符串转换成整数这个功能。当然,不能使用 atoi 或者其他类似的库函数。样例输入:"123"输出:123注意:你的函数应满足下列条件:忽略所有行首空格,找到第一个非空格字符,可以是 ‘+/−’ 表示是正数或者负数,紧随其后找到最长的一串连续数字,将其解析成一个整数; 整数后可能有任意非数字字符,请将其忽略; 如果整数长度为0,则返回0; 如果整数大于 INT_MAX(2^31−1),请返回 INT_MAX;如果整数小..

2021-03-23 00:07:43 200

原创 不用加减乘除做加法(利用位运算)

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷四则运算符号。样例输入:num1 = 1 , num2 = 2输出:3算法(模拟加法器) O(1)不使用加减乘除来进行加法运算,我们可以模拟计算机的加法器实现。举个例子:14+814的二进制表示:11108的二进制表示:1000我们将整个运算分为两步,1、进位 2、不进位第一步进行不进位的运算:十进制来看:十位为1+0=1,个位为4+8=2,结果为12二进制来看:1110+1000=...

2021-03-22 17:17:46 477 1

原创 AcWing-压缩编码

题目给定一段文字,已知单词 a1,a2,…,an出现的频率分别 t1,t2,…,tn。可以用01串给这些单词编码,即将每个单词与一个01串对应,使得任何一个单词的编码(对应的01串)不是另一个单词编码的前缀,这种编码称为前缀码。使用前缀码编码一段文字是指将这段文字中的每个单词依次对应到其编码。一段文字经过前缀编码后的长度为:L=a1的编码长度× t1 + a2的编码长度× t2 + … + an的编码长度× tn。定义一个前缀编码为字典序编码,指对于1≤i...

2021-03-22 00:20:29 96

原创 石子合并(区间DP模板)

题目描述:设有N堆石子排成一排,其编号为1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有4堆石子分别为 1 3 5 2, 我们可以先合并1、2堆,代价为4,得到4 5 2, 又合并 1,2堆,代价为9,得到9 2 ,再合并得到11,总代价为4+9+11=24;如果第二步是先合并2,3堆,则

2021-03-21 20:31:58 335

原创 小明上学

题目描述小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯r秒,黄灯y秒,绿灯g秒,那么从0时刻起,[0,r)秒内亮红灯,车辆不许通过;[r,r+g)秒内亮绿灯,车辆允许通过;[r+g,r+g+y)秒内亮黄灯,车辆不许...

2021-03-21 16:22:08 104

原创 翻转链表(LeetCode、剑指Offer)(头插法)

题目定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。输入输出样例输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULLC++挑战模式代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNo

2021-03-21 15:42:02 81

原创 机器人跳跃问题

题目描述机器人正在玩一个古老的基于 DOS 的游戏。游戏中有 N+1座建筑——从0到N编号,从左到右排列。编号为0的建筑高度为0个单位,编号为i的建筑高度为H(i)个单位。起初,机器人在编号为0的建筑处。每一步,它跳到下一个(右边)建筑。假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到第k+1个建筑。如果H(k+1)>E,那么机器人就失去 H(k+1)−E的能量值,否则它将得到 E−H(k+1)的能量值。游戏目标...

2021-03-19 21:30:29 354

原创 通信网络(有向图邻接表的数组实现)

题目描述某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或间接传递信息时,他们才彼此知道对方的存在。部门之间不会把自己知道哪些部门告...

2021-03-19 14:57:10 508

原创 机器翻译

题目描述小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。假设内存中有 M 个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数

2021-03-18 16:42:44 516 2

原创 第9届蓝桥杯_打印图形

题目描述如下的程序会在控制台绘制分形图(就是整体与局部自相似的图形)。当n=1,2,3的时候,输出如下:请仔细分析程序,并填写划线部分缺少的代码。样例n=1时: o ooo o n=2时: o ooo o o o o ooooooooo o o o o ooo o n=3时: o ooo

2021-03-18 14:25:50 299

原创 乘积尾零

题目描述如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 3135 1170 4014 5510 5120 729 2880 90192049 698 4582 434

2021-03-18 14:21:55 630

原创 丢失的数字

题目描述给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。样例1输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。样例2输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。样例3输入:num

2021-03-18 14:14:27 133

原创 交换字符使得字符串相同

题目描述:有两个长度相同的字符串s1 和s2,且它们其中只含有字符”x” 和”y”,你需要通过「交换字符」的方式使这两个字符串相同。每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。交换只能发生在两个不同的字符串之间,绝对不能发生在同一个字符串内部。也就是说,我们可以交换s1[i] 和s2[j],但不能交换s1[i]和s1[j]。最后,请你返回使s1和s2相同的最小交换次数,如果没有方法能够使得这两个字符串相同,则返回-1。示例1:输入:s1 = “xx”, s2

2021-03-18 13:55:43 1030

原创 蛇形矩阵

题目描述:输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。输入格式:输入共一行,包含两个整数n和m。输出格式:输出满足要求的矩阵。矩阵占n行,每行包含m个空格隔开的整数。数据范围:1≤n,m≤100样例:输入样例3 3输出样例1 2 38 9 47 6 5C++代码:#include <iostream> #include <iomanip>using namespace

2021-03-18 13:37:11 110

原创 红与黑

红与黑题目描述:有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入格式:输入包括多个数据集合。每个数据集合的第一行是两个整数 W 和 H,分别表示 x 方向和 y 方向瓷砖的数量。在接下来的 H 行中,每行包括 W 个字符。每个字符表示一块瓷砖的颜色,规则如下1)‘.’:黑色的瓷砖;2)‘#’:红色的瓷砖;3)‘@’:黑色的瓷砖,并且你站在

2021-03-18 13:06:13 107

空空如也

空空如也

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

TA关注的人

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