自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-01-15

图的存储邻接矩阵邻接表链式前向星边集邻接矩阵 g[N][N],比较浪费空间,适合存储稠密图邻接表vector G[N]。链式前向星 e[N], ne[N],w[N], idxEdge{ u, v, w } edge[N]。使用在bellman_ford等算法中。...

2021-01-15 12:05:47 110 1

原创 PTA(B)1003我要通过

PTA(B)1003我要通过题面这个题目其实通过举例子可以找到规律:注意XPATX中的X代表字符串,只要左右两边完全相同就可以认为符合。比如:AAPATAAAPATAPAT…紧接着题面说如果aPbTc符合,那么aPbATca符合观察一下aPbTc---->aPbATca变化了什么?不难发现当b多增加一个A,右边的c多增加了整个a字符串,而且数量也是1!而且结合第一个条件知道P和T左右两边永远只能是A。那么有如下推导式:P左边的A个数*P和T中间的A个数 = T右边的A个

2020-11-03 19:44:22 351

原创 DS

整理的DS课后题该死!竟然没答案!!我写了半天竟然没答案!!几种栈的表示:链栈、数组栈,两栈共享空间纯虚基类// created on 2020.10.21 by Joe#ifndef STACK_H#define STACK_H_template <typename T>class stack{public: virtual ~stack() {} virtual bool empty() const = 0; virtual int size() con

2020-10-22 17:26:47 169

原创 2020-10-19

凸包/基数排序好久没写博客了今天上交一篇关于数据结构作业的博客8~求凸包,O(nlogn)// 求凸包,不采用任何链表或者arrayList,直接采用裸数组,实质一样(其实是我不想写双向链表了...哭T_T)#include <iostream>#include <algorithm>using namespace std;int count = 0; // 凸包中点的个数int n; // 输入元素个数// 点对象struct point{ int

2020-10-19 22:38:12 106

原创 PAT (Basic Level) Practice数字黑洞

1019 数字黑洞 (20分) 题目给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 -

2020-07-10 17:17:04 182

原创 指针里的绕口定义

指针绕口定义及阐释 首先我不是使用指针的熟手 其次这篇文章的主要目的时简单了解指针定义而非什么高级操作首先我们直接看具体例子const int i;const int *const p = &i;const int* const *const pp = &p;解释: 我们最佳的做法时从右往左分析一个变量到底是什么譬如pp 从右往左看:首先它是一个const 的指针 其次它指向一个const的指针 这个指针指向const int如果你觉得很乱这里是分析模板:

2020-06-24 11:56:26 153

原创 PAT (Basic Level) Practice (中文)1024

1024 科学计数法 (20分)这个题目不难但是真的很烦人注意题中的9999字节理解为字符串长度最大为9999 第一遍写的时候的拙劣代码#include <cstdio>#include <cstring>char str[10010];char floatStr[10000];int main(){ char s1,s2,iter; int i,j = 0,expStr = 0,r = 1,k; scanf("

2020-06-22 22:53:20 150

原创 PAT (Basic Level) Practice (中文)1014

1014 福尔摩斯的约会 (20分)大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字

2020-06-22 15:41:58 259

原创 计算机中的数据存储与PTA

计算机数据存储在做PTA上的题目时,我们经常遇到要处理数据溢出的问题,本篇文章大致讲述了如何理解数据在计算机中的表现形式和数据溢出。位模式:由计算机位组成的有序序列。通常长度为八的位模式称为一字节。计算机通过位模式表达各种数据,但计算机表示数据的位是有限的,所以计算机不能直接表达无穷大的数据。计算机表达整数:整数被当作小数点位置固定的数字,所以可以用定点表示法存储整数。尽管如此,对于较大的整数,我们可能会将其存储为小数部分为0的实数。无符号整数和有符号整数在计算机内的表示不同。1. 无符

2020-06-21 17:53:11 792

原创 PAT (Advanced Level) Practice 1028

1006 Sign In and Sign Out (25分)At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in’s and out’s, you are supposed to find th

2020-06-20 19:25:31 150

原创 PAT (Advanced Level) Practice 1011

1011 World Cup Betting (20分)With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best players from the best teams doing battles for the World Cup trophy in South Africa. Similarly, football betting f

2020-06-20 18:55:01 119

原创 PAT (Basic Level) Practice 1028

1028 人口普查 (20分)题目粘过来格式不对就不写题目了,自行查看浙大PTA乙级1028,以后会用Latex后再补充回来题目。本题属于简单查找类型,我采用C++编译器,版本是g++ 6.5.0题解按照惯例提供两种方法并分析。 题解一#include <cstdio>struct{ char name[6]; int year_mon_day;}temp,old,young; // 好理解,结构保存名字和时间,因为时间是8位数字,直接用

2020-06-19 21:39:48 163

原创 PAT (Basic Level) Practice 1041

1041 考试座位号 (15分)该题属于简单查找,后续博文会持续更新简单查找的题目。编译器采用C++编译器,g++ 6.5.0。题解给出两种解法和思路,并分析时间上的差别。养成好习惯,每个题目无论难易粗略分析时间和空间复杂度。 题解一#include <cstdio>struct{ char stuID[20]; int tNUM; int num;}studentInfo[1000];int main(){ int

2020-06-19 15:15:15 199

原创 PAT (Advanced Level) Practice 1009

1009 Product of Polynomials (25分)题目自行查看浙大PTA 甲级(English)1009,我将它和PTA 甲级 1002 归为一类,1002题解在博文已给出题目为简单模拟,难度不大,此处提供两种思路,编译器是g++ 6.5.0,C++编译器,头文件包含cstdio(不推荐写stdio.h)个人擅长用C解题,过程中习惯用scanf和printf而不是cin 和 cout(速度上前两者快得多) 题解1 #include <cstdio&g

2020-06-18 21:43:09 1717 1

原创 PAT (Advanced Level) Practice 1002

1002 A+B for Polynomials (25分)题目自行查看浙大PTA 甲级(English)1002题目为简单模拟,难度不大,此处提供两种思路,编译器是g++ 6.5.0,C++编译器,头文件包含cstdio(不推荐写stdio.h)个人擅长用C解题,过程中习惯用scanf和printf而不是cin 和 cout(速度上前两者快得多) 题解1#include <cstdio>double a1[1001],a2[1001],a3[1001];

2020-06-18 20:45:00 240

原创 排序算法1

选择排序时间复杂度O(n*n),基本思想是每轮找出未排序部分中的最值从小到大排序版本// 假设数组为A[n]for(int i = 0;i < n-1;i++){ int k = i; for(int j = i+1;j < n;j++){ if(A[k] > A[j]) k = j; } int temp = A[i]; A[i] = A[k]; A[k] = temp;}冒泡排序时间复杂度是O(n*n),基本思想是每轮将未排序部分最值移到首或

2020-06-17 20:37:40 132

原创 PTA(乙级)1009说反话

PTA1009说反话1009 说反话 (20分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World H

2020-06-17 20:07:43 441

原创 贪吃蛇代码(新手)

还有一些Bug// 必要的头文件 #include <stdio.h>#include <stdlib.h>#include <conio.h>#include <time.h>#include <windows.h>#include <string.h>// 定义标记上下左右的明示常量 #define UP 1#define DOWN 2#define LEFT 3#define RIGHT 4#defi

2020-06-08 16:49:47 3397 2

空空如也

空空如也

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

TA关注的人

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