自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python transpose与permute函数详解

transpose用法:tensor.transpose(a,b)可以理解为矩阵转置,每次输入两个index,实现转置,是2D的操作permute用法:tensor.permute(a,b,c)transpose仅可以进行二维转置,而permute则不仅限于二维,可以进行多维度转置  举例:import torchy = torch.randn(5, 10, 15)print(y.size())print(y.view(-1, 15).size()) # Same as

2020-11-04 10:23:59 2520 1

原创 Thread.join()用法

  python3内threading库引入了Thread类,包含了一系列方法,其中,对于join()方法一直不太理解。文章目录**1.join()函数无参数时****2.join(x)内传递了变量x**,**总结:**1.join()函数无参数时主线程在所有引用join的线程结束后结束。import _thread,time,threadingfrom threading import ThreadexitFlag = 0class myThread (Thread)

2020-08-09 17:16:32 2028

原创 python关键字用法与示例

1.and ;or ; not:and为与运算, a and b即a 与b都是True a and b才为Trueor为或运算,a or b即a,b内只要任意一个为True则a or b为Truenot 为非运算 当a表达式为True时,not a 表达式为False ,反之亦然2.with expresion as variable:、为一个类定义了_enter_ 及_exit_函数。将expresion返回值赋值给variable ,随后执行:后面的with_block操作,执行完后自动ex

2020-08-08 17:26:34 283

原创 基于python的requests库实现简单的小说爬取

最近在学习爬虫,掌握了点匹毛,记录一下自己的学习进程.可运行代码在最后面一.爬虫思路  尝试去一些盗版小说网站,类似笔趣阁等网站爬取小说,整理格式,清除网页自带的一些广告语,提高阅读质量。  1.通过目录页面来获取所有章节的链接地址以及章节名称,分别存入两个数组当中  2.利用循环来依次访问链接地址,将章节名称以及小说内容写入打开的文本当中二.过程的实现细节  1.注意网站的编码方式,以及待写入txt文件的编码方式的

2020-08-08 17:21:35 1237 5

原创 066:冷血格斗场

总时间限制: 1000ms 内存限制: 65536kB描述为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家冷血格斗场。格斗场实行会员制,但是新来的会员不需要交入会费,而只要同一名老会员打一场表演赛,证明自己的实力。我们假设格斗的实力可以用一个非负整数表示,称为实力值,两人的实力值可以相同。另外,每个人都有一个唯一的id,也是一个正整数。为了使得比赛更好看,每一个新队员都会选择与他实力最为接近的人比赛,即比赛双方的实力值之差的绝对值越小越好,如果有多个人的实力值与他差别相同,则他

2020-05-24 01:19:10 925

原创 065:热血格斗场

总时间限制: 1000ms 内存限制: 65536kB描述为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家热血格斗场。格斗场实行会员制,但是新来的会员不需要交入会费,而只要同一名老会员打一场表演赛,证明自己的实力。我们假设格斗的实力可以用一个正整数表示,成为实力值。另外,每个人都有一个唯一的id,也是一个正整数。为了使得比赛更好看,每一个新队员都会选择与他实力最为接近的人比赛,即比赛双方的实力值之差的绝对值越小越好,如果有两个人的实力值与他差别相同,则他会选择比他弱的那个(显然

2020-05-24 00:25:15 1316

原创 连续整数的固定和

题目简述:给定一个整数n,对于1-n以内的数据,若存在一段连续的整数,相加和为n,则视为符合条件的整数。example:27: 2-7 ;8-10 ;13-14解题思路:对于n较小的数据,直接采用求所有和判断的方法:大致思路如下::cin>>n;sum=0; for(i=1;i<=n/2;i++){ for(sum=i,j=i+1;j<=n/2+1;j++){ sum+=j; if(sum==n) output(); } }上述方法的时间复杂

2020-05-16 19:50:41 518 1

原创 1013 Battle Over Cities (25分)

It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair any other highways to keep the rest of the c

2020-05-11 23:17:20 138

原创 1012 The Best Rank (25分)

To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus or Linear Algrbra), and E - English. At the mean time, we encourage students by emphasi

2020-05-11 22:01:41 107

原创 1007 Maximum Subsequence Sum (25分)

题意解析给定一串数字,求其连续子串中和最大的子串。然后按照:子串和 子串第一个数 子串最后一个数 的格式将其输出。若子串不唯一,则输出其最子串中最靠前的子序列。且,若所有数为负数的情况下,输出和为0,且输出总序列的第一个数及最后一个数。特殊示例:input1: -1 -2 -3 -5 -8 (全为负数)output1:0 -1 -8input2:-1 -2 0 -1 -5 -8 (有0,但无正数)output2:0 0 0input2: 1 2 3 -9 0 8 1 7 0 (有正.

2020-05-11 15:52:29 236

原创 1034 Head of a Gang (30分)

One way that the police finds the head of a gang is to check people’s phone calls. If there is a phone call between A and B, we say that A and B is related. The weight of a relation is defined to be the total time length of all the phone calls made between

2020-05-11 15:17:12 103

原创 7-7 六度空间 (30分)

“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。图1 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以及因特网上即时通信等工具,能

2020-05-10 15:37:48 1633

原创 7-6 列出连通集 (25分)

给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v1 v2… v​k}"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。输入样例:8 60 70 12 04 12 4

2020-05-09 21:35:02 459

原创 7-5 堆中的路径 (25分)

将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。输入样例:5 346 23 26 24 105 4 3

2020-05-09 19:03:34 205

原创 7-4 是否同一棵二叉搜索树 (25分)

给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列。最后L行,每行给出N个插入的元素,属于L个需要检查

2020-05-09 16:30:22 243

原创 实验9-3 计算平均成绩 (15分)

给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。输出格式:首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。输入样例:500001 zhang 70000

2020-05-09 14:03:10 2096

原创 实验9-1 计算职工工资 (15分)

给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。输入样例:3zhao 240 400 75qia

2020-05-09 13:57:12 2638

原创 实验8-2-10 IP地址转换 (20分)

一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。输出格式:在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。输入样例:11001100100101000001010101110010输出样例:204.148.21.114#include<stdio.h>#include<string.h&gt

2020-05-09 13:51:12 1120

原创 习题9-5 通讯录排序 (20分)

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入样例:3zhang 19850403 1391

2020-05-08 21:15:38 1355

原创 习题9-4 查找书籍 (20分)

给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming in C21.5Programming in VB18.5Programming in Delphi

2020-05-08 20:54:21 466

原创 习题9-3 平面向量加法 (15分)

本题要求编写程序,计算两个二维平面向量的和向量。输入格式:输入在一行中按照“x1 y1 x2 y2”的格式给出两个二维平面向量v1=(x1,y1)和v2=(x2,y​2​ )的分量。输出格式:在一行中按照(x, y)的格式输出和向量,坐标输出小数点后一位(注意不能输出−0.0)。输入样例:3.5 -2.7 -13.9 8.7输出样例:(-10.4, 6.0)代码如下:#include<stdio.h>#include<math.h>int main(){ d

2020-05-08 20:36:34 1087

原创 习题9-1 时间换算 (15分)

本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。输入格式:输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。输出格式:输出在一行中给出hh:mm:ss格式的结果时间。输入样例:11:59:4030输出样例:12:00:10代码如下:#include<stdio.h>int main(){ int h,m,s,n; /*char a[50]; //注释处为ssca

2020-05-08 20:22:08 535

原创 习题8-7 字符串排序 (20分)

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue green white输出样例:After sorted:bluegreenredwhiteyellow思路:对于本题,第一时间想到的是通过C++的map来实现自动排序,直接输出,十分简单,但P

2020-05-08 20:05:12 3379

原创 习题7-8 字符串转换成十进制整数 (15分)

输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。输入样例:±P-xf4±1!#输出样例:-3905代码如下...

2020-05-08 15:43:05 348

原创 习题7-5 找鞍点 (20分)

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 ...

2020-05-08 15:15:50 229

原创 习题7-3 判断上三角矩阵 (15分)

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”...

2020-05-08 14:38:09 602

原创 习题7-2 求一批整数中出现最多的个位数字 (20分)

给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入格式:输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。输出格式:在一行中按格式“M: n1 n2 …”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小...

2020-05-08 14:27:08 1616

原创 习题7-1 选择法排序 (20分)

本题要求将给定的n个整数从大到小排序后输出。输入格式:输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。输出格式:在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。输入样例:45 1 7 6输出样例:7 6 5 1代码如下:#include<stdio.h>int main(){ int n,a[20],i,j...

2020-05-08 14:06:10 164

原创 练习7-10 查找指定字符 (15分)

本题要求编写程序,从给定字符串中查找某指定的字符。输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。输入样例1:mprogramming输出样例1:index = 7输入样例2:a1...

2020-05-08 13:56:48 2503 3

原创 练习7-9 计算天数 (15分)

本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02输出样例2:62思...

2020-05-08 13:50:17 285

原创 练习7-4 找出不是两个数组共有的元素 (20分)

给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。输入样例:10 3 -5 2 8 0 3 5 -15 9 10011 6 ...

2020-05-07 22:00:06 2265

原创 习题6-7 简单计算器 (20分)

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例:10代码如下...

2020-05-07 19:53:30 229

原创 链表子串替换

题目要求将以链表为存储结构的字符串中的第一个“ab”,替换为“xyz”。解题思路查找第一个出现的ab子串,将’a’对应节点的data替换为’x’,‘b’对应的节点data替换为’z’,创建新节点,data设置为’y’,插入到上述两个节点之间。代码如下:#include<stdio.h>#include<stdlib.h>struct node{ char d...

2020-05-05 21:37:43 587

原创 基于在线处理解决最长子串问题

前导问题:对于一串整数(正负都可能),输出其连续最大子序列和。比如:9 -20 1 2 3 4 0,其最大连续子序列和为1+2+3+4;对9 -20 1 2 4 0,则其最大连续子序列和为9。**解题思路:**对于这种求最大子序列的问题,最高效的方法即为在线处理。设定变量max记载最大子序列和,tmax记录阶段子序列和。遍历这串整数,对于每个整数tmax+=temp(temp为当前遍历的整数)...

2020-04-30 22:06:02 86

原创 单链表操作-排序,拆分,删除最大值

自己在复习数据结构的时候,看到了这一题,简单记录一下。**题如下:**对于一个带头结点的单链表L={a1,b1,a2,b2,a3,b3,a4,b4…an,bn},现将单链表拆分成两个链表:L1={a1,a2,a3,a4,a5,a6…,an};L2={bn,bn-1…b3,b2,b1};其中L1沿用原节点L,L2则新建节点。**思路分析:**对于所有a节点,依次指向下一个a节点,对于b节点,则采...

2020-04-20 15:29:58 381

原创 1009 Product of Polynomials (25分)

解题思路:这道题是多项式乘法,从系数大到小输入两个多项式A,B,再输出A B多项式乘积的非零项个数,并按照多项式指数降序输出非零项的指数与系数。可以直接构造三个double数组a[1001] ,b[1001],c[2001] ,因为乘积的指数最大可能达到2000,所以设置的数组范围是A,B的两倍。代码如下:#include<stdio.h>#include<math...

2020-04-19 14:10:55 95

原创 1006 Sign In and Sign Out (25分)

解题思路:**方法一:**本题借用C++的string容器则较为简单,构造结构体,内涵三个string变量,分别存储姓名,sign in与sign out的时间。随后,将m个签到记录依次存入结构体当中。随后逐个比较签到时间与离开时间,取最大者的姓名输出即可,代码如下:#include<iostream>#include<string>#include<cst...

2020-04-18 21:01:16 175

原创 1005 Spell It Right (20分)

思路:输入一个非负整数,然后将该整数各位相加,随后以英语输出整数和的各位。由于整数范围较大,因此,最好采用字符数组的形式来表示。随后依次访问字符数组的各位,逐个转换为整数相加,得出最总和sum。将其输出。代码如下:#include<stdio.h>#include<string.h>char a[1003];int sum=0;int result[5]; ...

2020-04-18 20:07:14 95

原创 1004 Counting Leaves (30分)

解题思路:可以将家族族谱视为一棵树,从第一层到最后一层树,依次输出每层树的叶子节点的个数。(根节点root视为第一层。)输入节点总数n,非叶子节点数m,随后在接下来的m行,以此输入节点id ,孩子数量,以及每个孩子的Id.由此,可构造数组a[101]存储每一层的叶子节点数。构造node结构体struct node{vector child; //存放孩子节点的数组int layer;...

2020-04-18 18:01:40 458

原创 PTA 甲级 1002 A+B for Polynomials (25分)

This time, you are supposed to find A+B where A and B are two polynomials.Input Specification:Each input file contains one test case. Each case occupies 2 lines, and each line contains the informati...

2020-04-18 14:23:34 570

空空如也

空空如也

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

TA关注的人

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