自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 线性代数(1)—— 行列式

文章目录一、行列式发展史1. 行列式2. 从行列式到矩阵二、从线性方程组讲起1. 线性方程组和系数行列式一、行列式发展史1. 行列式行列式出现于线性方程组的求解,它最早是一种速记的表达式,在很长一段时间内,行列式只是作为解线性方程组的一种工具使用。现在行列式已经脱离线性方程组本身,成为数学中一种非常有用的工具。1690年代,莱布尼茨和日本数学家关孝和于发明行列式1750年,瑞士数学家克莱姆在其著作《线性代数分析导引》中,对行列式的定义和展开法则给出了比较完整、明确的阐述,并给出了现在我们所称的解

2020-09-22 04:32:44 5104 6

原创 JAVA入门笔记5 —— 数组

参考书:《Java语言程序设计与数据结构(基础篇)》—— 梁勇文章目录一、一维数组1. 数组的存储2. 声明和创建一维数组3. 给数组元素赋值4. 数组大小和默认值5. foreach循环6. 复制数组7. 数组和方法(1)把数组传给方法(2)方法返回数组8. 可变长参数列表9. Arrays类二、二维数组1. 数组的存储2. 声明和创建二维数组3. 二维数组与方法一、一维数组1. 数组的存储数组在JAVA中是对象,数组变量是一个引用数据类型,JVM将对象存储在一个称为堆(heap)的内存区.

2020-09-21 00:50:28 289

原创 JAVA入门笔记4 —— 对比java和C/C++中数组的存储

参考书:《Java语言程序设计与数据结构(基础篇)》—— 梁勇文章目录1. 一维数组(1)C/C++(2)java2. 二维数组(1)C/C++(2)java1. 一维数组(1)C/C++示例:int a[5];这创建了一个int型数组,数组容量为5个int型数据C/C++中数组存储于栈区,由系统管理自动分配空间,所以定义数组时必须要指明大小这里数组变量a本质上是一个指针,存储着(指向)数组所在的连续内存区的起始地址,如下可验证#include<iostream&g.

2020-09-17 17:22:18 282

原创 JAVA入门笔记3 —— 方法

参考书:《Java语言程序设计与数据结构(基础篇)》—— 梁勇文章目录一、概述二、定义一个方法1. 格式2. 说明3. 示例三、调用方法1. 静态方法和动态方法2. 传参说明四、重载方法五、变量的作用域一、概述方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。 当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。java中的方法,基本等价于C++中类的方法和C中的函数二、定义一个方法1. 格式修饰符 返回值类型 方法.

2020-09-16 02:14:42 176

原创 PAT甲级 —— 1076 Forwards on Weibo (30分)

题目链接:Forwards on Weibo (30分)题目描述Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may follow many other users as well. Hence a social network is formed with followers relations. When a user makes a post..

2020-09-15 03:24:18 166

原创 PAT甲级 —— 1034 Head of a Gang (30分)

文章目录一、题目二、三种解法0. BFS和DFS遍历图1. 初始思路:邻接表+有向图+DFS2. 修改思路:邻接矩阵+无向图+DFS3. 试试广度优先:邻接矩阵+无向图+BFS一、题目题目链接: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,

2020-09-15 03:11:57 144

原创 【算法笔记】10.3 图的遍历

这是《算法笔记》的读书记录本文参考自10.3节一、DFS遍历图关于DFS算法:【算法笔记】8.1 深度优先搜索DFSDFS遍历图:以 “深度” 作为第一关键词,每次都是沿着路径走到不能前进时才回退到最近的岔路口。二、BFS遍历图关于BFS算法:【算法笔记】8.2 广度优先搜索BFS...

2020-09-14 20:35:12 362

转载 CSP 202006-3 Markdown渲染器

题目链接:Markdown渲染器这题写的时候绕晕了,代码转自:热爱Data的直男熙哥,我按自己的习惯改了一点格式加了一些注释题目描述题目分析:CSP的第三题真的是很麻烦的模拟,之前字符画那题也是,看题都要看好久,我这里绕晕了没做出来。不过看到 ”热爱Data的直男熙哥“ 的解法,感觉很清晰,所以搬过来了。题目要求的整个处理过程很复杂,一遍遍历完成很容易想乱掉,所以可以把处理过程分成两部分预处理过程:这个过程中,把输入分成三类:段落、列表首项、列表非首项,这个过程中把..

2020-09-12 02:30:49 1661

原创 CSP 202006-2 稀疏向量

题目链接:稀疏向量题目描述分析稀疏向量求内积,可以先把输入存到两个容器中,然后双指针遍历求和,复杂度O(n)一开始想得很简单,用一对数据用pair存,用vector<pair<int,int>>存一个向量,然后遍历就行了,可以满分后来看了看别人的解法,发现我这样做默认了输入的index升序,但题中没说明,所以改用map做了,可以自动升序还有一点是这题容易超时,限时2s,vector做用时1.963s,map做直接超时只有60分,优化C++的输入输出后可以..

2020-09-11 17:26:35 1439 2

原创 CSP 202006-1 线性分类器

题目链接:线性分类器题目描述分析:判断一群点是否在线的同一侧,可以把他们的坐标带入线解析式,如果都大于0或都小于0,可以判断它们在同一侧数据结构上,可以用pair存点,用vector<pair>存一群点满分代码#include<iostream>#include<vector>#include<map>#include<string> using namespace std;vector<pa..

2020-09-11 11:34:25 316

原创 CSP 201909-4 推荐系统

题目链接:推荐系统题目描述:题意解读:这是要维护一个商店的商品列表,商品种类一直为m种不变。一共有三种操作添加某类商品删除某类商品中的一个查询商品注意一下查询时的排序,首先是按商品得分降序排,得分相同时按类别升序排,类别也相同按编号升序排。选取商品时,每类商品有数量限制,商品总数也有数量限制思路分析涉及到排序问题,可以考虑用vector存商品再用sort排序,但是这样要注意重复添加相同商品的问题,比较麻烦;或者可以用set,这样不但能去重,还能在添加时自动..

2020-09-11 04:50:33 520

原创 CSP 201909-2 小明种苹果(续)

题目链接:小明种苹果(续)题目描述满分代码#include <iostream>#include <algorithm>using namespace std;typedef struct TREE{ int num; //编号 long long remain; //剩下的总数 bool full; //苹果掉落标记 }TREE;TREE tree[1010]; //存所有树int main(){ int N,M; i..

2020-09-09 23:54:09 534

原创 CSP 201909-1 小明种苹果

题目链接:小明种苹果满分代码#include <iostream>#include <algorithm>using namespace std;typedef struct TREE{ int num; //编号 int sub; //疏果总数 int remain; //剩下的总数}TREE;TREE tree[1010];//存所有树int sum = 0; //剩余的总果数bool cmp(TREE a,TREE b){ if(a.

2020-09-09 21:01:18 267

原创 【算法笔记】8.2 广度优先搜索BFS

这是《算法笔记》的读书记录本文参考自8.2节文章目录一、引子二、广度优先搜索1. 定义2. 用队列实现BFS三、相关例题1. 块的个数一、引子还用上一篇DFS中的迷宫例子引入,参考【算法笔记】8.1 深度优先搜索DFS这次我们改变寻路策略,不知要找出路线,而且想知道从起点到终点的最短步数是多少(两个相邻节点间看作相隔一步),我们可以按如下的图示进行宽度优先搜索起点A是第一层,发现从A出发能访问到B和C,于是B、C是第二层按顺序访问第二层,先看B。从B出发能访问到D和E,于是D.

2020-09-09 20:10:09 324

原创 【算法笔记】8.1 深度优先搜索DFS

这是《算法笔记》的读书记录本文参考自8.1节文章目录一、引子二、深度优先搜索DFS三、DFS和回溯四、例题1. 搜索二叉树2. 背包问题一、引子现在我们身处一个迷宫之中,可能很多人都听说过这个说法:只要每个岔路都走右手边的分支,就一定能走出去。下图是一个示例,从起点开始,每个分岔都走右边,最后找到了出口这里其实就执行了深度优先搜索算法,我们可以这样理解:在岔路位置,如果不拐弯走直线,就看作维持在当前层面;如果拐弯了,就是走到迷宫更深处了。在每个岔路我们总是选择拐弯,总是以“深度”作为前进.

2020-09-09 15:11:33 240

原创 【算法笔记】4.4 贪心

这是《算法笔记》的读书记录本文参考自4.3节文章目录1. 简单贪心2. 区间贪心(1)区间不相交问题(2)区间选点问题3. 小结1. 简单贪心贪心法是求解一类最优化问题的方法他,它总是考虑当前状态下的局部最优的策略,来使全局结果达到最优不是所有问题都能用贪心法解决,因此要严谨地使用贪心算法,需要对策略进行证明。证明的一般思路是使用反证法及数学归纳法,先假设策略不能达到最优,然后根据一系列推到得出矛盾,从而证明策略是最优的,最后通过数学归纳法保证全局最优真正做题的时候,往往没有时间严谨证明.

2020-09-08 14:10:01 138

原创 【算法笔记】4.3 递归

这是《算法笔记》的读书记录本文参考自4.3节文章目录1. 分治2. 递归(1)什么是递归(2)简单实例3. 回溯4. 更多递归相关题目(1)逆波兰表达式(2)字母全排列1. 分治分治(分而治之):将原问题划分成若干个规模较小而结构与原问题相同或相似的子问题,然后分别解决这些子问题,最后合并子问题的解分治的三个步骤分解:将原问题分解为若干结构相同或相似的子问题。分解的子问题应当是相互独立没有交叉的,否则不应使用分治解决解决:递归求解所有子问题。如果子问题的规模小到可以直接解决,就直接解.

2020-09-08 00:25:43 236

原创 【算法笔记】4.2 散列(哈希)

这是《算法笔记》的读书记录本文参考自4.2节文章目录1. 散列(1)定义(2)关键问题2. 整数的散列3. 其他数据类型的散列4. 编程中的应用1. 散列(1)定义散列(hash)是一个常用思想,很多程序中都有意无意地会用到。 一句话说,散列就是 “将一个元素通过一个函数转换为整数,使得这个整数可以尽量唯一地代表这个元素”,这个转换函数称为 “散列函数 H”经过散列函数处理,我们就可以把元素本身作为一个key/索引/下标…,进而实现时间复杂度为O(1)的查询。所以散列本质上是用通过空间换.

2020-09-07 11:28:05 252

原创 PAT甲级 —— 1025 PAT Ranking (25分)

题目链接:PAT Ranking (25分)题目说明Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is supposed to run simultaneously in several places, and the ranklists will be merged immediate..

2020-09-06 15:37:43 140

原创 【算法笔记】4.1 三大简单排序

这是《算法笔记》的读书记录本文参考自4.1节文章目录1. 选择排序2. 插入排序3. 冒泡排序4. 小结1. 选择排序思想:把数组分为有序的前半部分和无序的后半部分,每次从无序的后半部分选出最小的元素交换到分界处,从而使有序部分不断增长,直到完全有序这个思想可以很方便地转换为递归形式,示例代码如下//选择排序,复杂度 O(n^2) #include<iostream>using namespace std;void selectSort(int *a,int n.

2020-09-06 13:56:56 207

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

题目链接:A+B for Polynomials (25分)题目描述题意说明:这是要做两个多项式的求和运算,每个多项式的表达方式是给出各个次方项的系数,对应求和后按相同的方式输出即可满分代码#include<iostream>#include<string> #include<vector>#include<algorithm>using namespace std;double coe[1010] = {0};int..

2020-09-04 18:08:19 265

原创 PAT甲级 —— 1001 A+B Format (20分)

题目链接:A+B Format (20分)题目描述Calculate a+b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Specification:Each input file contains one test ..

2020-09-04 10:55:13 125

原创 PAT乙级 —— 1015 反转链表 (25)

题目链接:反转链表 (25)题目描述给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。输入描述:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(<= 105)、以及正整数K(<=N),即要求反转的子链结点的个数。结点的地址是5位非负整数,NULL地址用-1表示。..

2020-09-03 15:28:21 132

原创 PAT乙级 —— 1014 科学计数法 (20)

题目链接:科学计数法 (20)题目描述科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[±][1-9]"."[0-9]+E[±][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入描述:每个输入包含1个测试用例,即一个以科学计数法表示的实数A。该数字的存储长度不超过9999字节,且其指数的绝对值不超..

2020-09-02 11:04:10 160

原创 PAT乙级 —— 1013 组个最小数 (20)

题目链接:组个最小数 (20)题目描述给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入描述:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔。10个数字的总个数不超过50,且至少拥有1..

2020-09-02 08:36:49 141

原创 PAT乙级 —— 1012 D进制的A+B (20)

题目链接:D进制的A+B (20)题目描述输入两个非负10进制整数A和B(<=230−12^{30}-1230−1),输出A+B的D (1 < D <= 10)进制数。输入描述:输入在一行中依次给出3个整数A、B和D。输出描述:输出A+B的D进制数。输入例子:123 456 8输出例子:1103满分代码(使用了大数运算)#include <iostream>#include <algorithm&g..

2020-09-02 01:06:35 191

原创 PAT乙级 —— 1011 个位数统计 (15)

题目链接:个位数统计 (15)题目描述给定一个k位整数N=dk−1∗10k−1+...+d1∗101+d0(0<=di<=9,i=0,...,k−1,dk−1>0)N = d_{k-1}*10^{k-1} + ... + d_1*10^1 + d_0 (0<=d_i<=9, i=0,...,k-1, d_{k-1}>0)N=dk−1​∗10k−1+...+d1​∗101+d0​(0<=di​<=9,i=0,...,k−1,dk−1​>0),..

2020-09-02 00:27:21 167

原创 PAT乙级 —— 1010 月饼 (25)

题目链接:月饼 (25)题目描述月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼、以及5万吨第3种月饼,获得72 + 45/2 = 94.5(亿..

2020-09-02 00:22:15 381

原创 PAT乙级 —— 1009 数字黑洞 (20)

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

2020-09-02 00:09:49 129

原创 PAT乙级 —— 1008 锤子剪刀布 (20)

题目链接:锤子剪刀布 (20)题目描述大家应该都会玩“锤子剪刀布”的游戏:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入描述:输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。输出描述:输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分..

2020-09-01 23:31:13 109

原创 PAT乙级 —— 1007 A除以B (20)

题目链接:A除以B (20)题目描述本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入描述:输入在1行中依次给出A和B,中间以1空格分隔。输出描述:在1行中依次输出Q和R,中间以1空格分隔。输入例子:123456789050987654321 7输出例子:17636684150141093474 3满分代码#include <iostream&g..

2020-09-01 22:51:30 126

原创 PAT乙级 —— 1006 部分A+B (15)

题目链接:部分A+B (15)题目描述正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。输入描述:输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。输出描述:在一行中输出PA + PB的值。输入例子:3862767 6 1353..

2020-09-01 22:40:10 100

原创 PAT乙级 —— 1005 德才论 (25)

题目链接:德才论 (25)题目描述宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入描述:输入第1行给出3个正整数,分别为:N(<=105),即考生总数;L(>=60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(<100),为优先..

2020-09-01 20:39:53 108

原创 PAT乙级 —— 1004 福尔摩斯的约会 (20)

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

2020-09-01 20:13:49 115

原创 PAT乙级 —— 1003 数素数 (20)

题目链接:数素数 (20)题目描述令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。输入描述:输入在一行中给出M和N,其间以空格分隔。输出描述:输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。输入例子:5 27输出例子:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101..

2020-09-01 19:27:46 104

原创 PAT乙级 —— 1002 数字分类 (20)

题目描述给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4…;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。输入描述:每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。数字间以空格分隔。..

2020-09-01 08:42:39 129

原创 PAT乙级 —— 1001 A+B和C(15)

题目描述给定区间 [−231-2^{31}−231, 2312^{31}231] 内的3个整数A、B和C,请判断A+B是否大于C输入描述:输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔输出描述:对每组测试用例,在一行中输出Case #X: true如果A+B>C,否则输出Case #X: false,其中X是测试用例的编号(从1开始)输入例子:41 2 32 3 4214748364..

2020-09-01 08:23:52 168

snakeDB.asm

详见:https://blog.csdn.net/wxc971231/article/details/104003616

2020-08-06

通信协议.cpp

在嵌入式编程时,常常会遇到需要做数据通信的场景。单片机往往只支持一次8位的数据传递,为了传输较长的数据类型,只能先在主机将数据拆分,再在从机重新组合,这里介绍一种带通讯协议的float型数据传输方法,具体见https://blog.csdn.net/wxc971231/article/details/90377296

2019-08-01

TIM4C123G.zip

史上最全TM4C123G相关资料,包括手册、TIVA官方例程、keil工程模板、引脚分配表、函数手册、我自己写的几个实验等等。

2019-07-08

python情人节绘图程序

用python的turtle库实现的情人节绘图程序,包含随机绘制彩色爱心和一个蜡笔小新头像

2019-05-27

栈实现中缀表达式计算

中缀表达式的计算程序,手动实现运算数栈和运算符栈。

2019-02-11

空空如也

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

TA关注的人

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