自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第三章

内存管理基本原理内存管理功能内存空间的分配与回收地址转换内存空间的扩充覆盖技术 :分固定区和覆盖区 对用户不透明交换技术虚拟存储技术存储保护设置上下限寄存器利用重定位寄存器、界地址寄存器进行判断进程运行基本原理编译链接静态链接装入时动态链接运行时动态链接装入绝对装入可重定位装入动态运行时装入 需要设置重定位寄存器覆盖技术交换技术具有交换功能的操作系统中,磁盘分为文件区和对换区两部分,对换区的I/O速度更快交换通常在许多进

2020-12-15 19:44:42 266

原创 第五章

I/O管理概述I/O控制器I/O控制方式[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E5yXtsUz-1608021874795)(第五章.assets/1607995685879.png)]程序直接控制方式中断驱动方式DMA方式通道控制方式总结I/O软件层次系统I/O核心子系统I/O调度:用某种算法确定一个好的顺序来处理各个I/O请求设备保护:操作性系统需要实现文件保护功能,不同的用户对各个文件有㓊的访问权限。而设备通常被看做一种特殊

2020-12-15 16:44:54 140

原创 第4章

文件系统基础文件的概念记录是一组相关的数据项的集合,用于描述一个对象在某方面的属性。在有结构文件中,文件由一组相似的记录组成,称为记录式文件。无结构文件被视为一个字符流,又称为流式文件。文件的属性:名称、标识符、类型、位置、大小、保护、时间所有文件的信息都保存在目录结构中,而目录结构保存在外存上。文件的基本操作创建文件- Create系统调用提供三个参数:所需外存空间大小、文件存放路径、文件名- 在外存中找到文件所需的空间- 根据文件存放路径找到该目录对应的目录文件,创建目录项写文件

2020-12-14 22:32:38 4024

原创 第一章 计算机系统概述

特征并发:两个或多个事件在同一事件间隔内发生 老渣在同一时间间隔内逐一和多个女友约会共享:即资源共享 分两种互斥共享方式 该资源可供多个进程使用,但一段时间内只允许一个进程访问 如摄像头不能同时被微信和qq运行同时访问方式 允许一段时间内由多个进程“同时”访问,在微观上仍是交替访问,同时向qq和微信发送某文件虚拟:把一个物理上的实体变为若干逻辑上的对应物。时分复用技术 如处理器的分时共享空分复用技术 如虚拟存储器异步:多道程序环境中多个程序并发执行,由于资源

2020-11-25 19:02:57 120

原创 排序、二分、栈、队列、DFS、BFS、回溯剪枝

排序、二分、栈、队列、DFS、BFS、回溯剪枝A1010 Radix进制转换、二分查找A1104 Sum of Number Segments排列组合A1093 Count PAT’s排列组合A1148 Werewolf - Simple Version枚举A1048 Find Coins枚举A1128 N Queens Puzzle八皇后问题A1012 The Best Rank排序A1028 List Sorting排序

2020-11-24 21:33:46 116

原创 刷算法题基础

vector定义vectorv(10); 默认10个元素都为0 vector<int>v1; v1.resize(8);默认元素都为0 vector<int>v3(100,9);100个元素初始化为9下标访问 迭代器访问 允许迭代器加上整数的写法如 vi.begin()+3v.push_back() v.pop_back()v.clear()清空所有 通用v.insert(it,x) it为迭代器v.erase

2020-11-24 21:32:52 146

原创 PAT 树

树列表A1147 Heaps堆的判定A1155 Heap Paths堆的判定1098 Insertion or Heap Sort堆排序1004 Counting Leaves数每层叶子节点A1020 Tree Traversals树的遍历、DFSA1021 Deepest Root树的遍历、树的深度、DFSA1079 Total Sales of Supply Chain广义树A1090 Highest Price in Supply

2020-11-24 21:31:52 168

原创 PAT 图

图A1134 Vertex Cover图A1122 Hamiltonian Cycle哈密顿圈的判别A1126 Eulerian Path欧拉图的判别A1142 Maximal Clique团A1150 Travelling Salesman Problem中国邮递员问题A1146 Topological Order拓扑序列的判别A1003 Emergency 救援最短路径和最大救援部队Dijkstra算法A1072 Gas Statio

2020-11-24 21:31:04 280

原创 PAT 刷题模板

贪心//区间选点贪心问题#include<stdio.h>#include<algorithm>using namespace std;const int maxn=110;struct Interval{ int x,int y;}I[maxn];int main(){ int n; while(scanf("%d",&n),n!=0){ for(int i=0;i<n;i++){ sc

2020-11-24 21:29:18 180

原创 1068 万绿丛中一点红 (20分) 求助!!

写这题写了有两个小时了,还是所有测试点段错误,哪里有问题啊,希望哪位大佬看到了给我指点指点,感激不尽!!#include<stdio.h>int yanse[1010][1010];int main(){ int M, N, TOL; scanf("%d %d %d", &M, &N, &TOL); for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { scanf("

2020-07-25 15:56:03 120

原创 PAT 乙级 1028 人口普查 (20分)

PAT 乙级 1028 人口普查 (20分)原题链接测试点3段错误检查了好久,要考虑输入都不合法的情况#include<stdio.h>struct node { char name[10]; int yy, mon, day; int he;}shuruname[100010];int main(){ int n, min, max, minhe = 20140906, maxhe = 18140906, count = 0; scanf("%d", &n);

2020-07-23 10:43:35 141

原创 PAT 甲级 1028 List Sorting (25分)

PAT 甲级 1028 List Sorting (25分)原题链接我的代码#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct node { int id, grade; char name[10];}stu[100010];bool cmp1(node a, node b) { return a.id < b.id;}boo

2020-07-22 20:42:41 112

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

PAT 甲级 1025 PAT Ranking (25分)原题链接做的第一道甲级题,注意最后在输出的时候id的前几位为0的情况。#include<stdio.h>#include<algorithm>using namespace std;struct node { long long id; int grade, loca,rank, l_rank;}stu[30010];bool cmp(node a, node b) { if (a.grade != b.

2020-07-22 20:11:14 88

原创 PAT 乙级 1015 德才论 (25分)

PAT 乙级 1015 德才论 (25分)原题链接之前刷题的时候就碰见过这题,当时觉得好难,完全没思路,那会儿看了看算法笔记上4.1节排序的内容,用的C++里的sqrt()函数,半个小时就AC了,而且自认为代码写的质量还可以,我可太开心了2333。。不说了,继续刷算法笔记去了我的代码:#include<stdio.h>#include<algorithm>using namespace std;struct node{ int id, de, cai, dengji

2020-07-21 18:09:36 94

原创 PAT乙级 1007 素数对猜想 (20分)

PAT乙级 1007 素数对猜想 (20分) (超时解决)原题链接这道题思路比较简单,但是在判断素数是,循环范围为2~i-1的话,第五个测试点会超时,换成 2-sqrt(i)就可以了。可以写成j*j>=i我的代码:#include<stdio.h>#include<string.h>int main(){ int n, count=0, sushu[100000] = { 0 }; scanf("%d", &n); for (int i = 2;

2020-07-21 11:49:07 96

原创 PAT 乙级 1061 判断题 (15分)

PAT 乙级 1061 判断题 (15分)原题链接送分题我的代码:# include<stdio.h>int main(){ int n, m, manfen[150], zhengquedaan[150], xueshengzuoda[150]; scanf("%d %d", &n, &m); for (int i = 0; i < m; i++) { scanf("%d", &manfen[i]); } for (int i = 0;

2020-07-20 22:23:00 123

原创 PAT 乙级 1066 图像过滤 (15分)

PAT 乙级 1066 图像过滤 (15分)原题链接题目挺简单,就是在最后输出格式上费了好长时间才通过我的代码:#include <stdio.h>int main(){ int m, n, a, b, k; int i, j, tmp; scanf("%d %d %d %d %d", &m, &n, &a, &b, &k); for (i = 0; i < m; i++) { for (j

2020-07-20 22:06:40 91

原创 PAT乙级 1071 小赌怡情 (15分)

PAT乙级 1071 小赌怡情原题链接送分题源码:#include<stdio.h>int main(){ int T, K, n1, b, t, n2; scanf("%d %d", &T, &K); for (int i = 0; i < K; i++) { scanf("%d %d %d %d", &n1, &b, &t, &n2); if (t > T) { printf("Not enough

2020-07-20 21:26:43 120 1

原创 PAT 乙级 1056 组合数的和 (15分)

PAT 乙级 1056 组合数的和 (15分)原题链接送分题源码:#include<stdio.h>int main(){ int n, a[10] = { 0 }, he = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j <

2020-07-20 20:43:48 74

原创 PAT 乙级 1076 Wifi密码 (15分)

PAT 乙级 1076 Wifi密码 (15分)原题链接送分题源码:#include<stdio.h>int main(){ int n, count[105]; char str[30]; scanf("%d", &n); getchar(); for (int i = 0; i < n; i++) { gets(str); for (int j = 2; j <= 14; j = j + 4) { if (str[j] == 'T')

2020-07-20 19:18:26 112

原创 PAT 乙级 1081 检查密码 (15分) C语言 测试点2

PAT 乙级 1081 检查密码 (15分) C语言原题链接思路:主要要考虑 测试点2 密码中空格的输入,由于scanf()函数以空格、回车、Tab键作为输入字符串的分隔符和结束符,所以在一个字符串中有空格时不能用scanf(),要用gets()读入整行。在scanf(“%d",&n);后要紧跟一个getchar()用来接收n之后的换行符,否则换行符会被读进gets()中。源码:#include<stdio.h>#include<string.h>int

2020-07-20 16:27:36 623 1

原创 PAT 乙级 1083 是否存在相等的差 (20分)

PAT 乙级 1083 是否存在相等的差题目输入样例:83 5 8 6 2 1 4 7输出样例:5 23 32 2原题链接源码:#include<stdio.h>int main(){ int shuzu[10010] = { 0 }, n, a, b; scanf("%d", &n); for (int i = 1; i <= n; i++) { scanf("%d", &a); if (a > i)b = a - i;

2020-07-20 13:34:07 86

原创 PAT 乙级 1040 有几个PAT (25分)

PAT 乙级 1040 有几个PAT题目输入样例:APPAPT输出样例:2原题链接题外话借鉴的CSDN某大佬的代码,真的感觉这个方法超级棒,我自己刚开始一上来先搞了好几层循环,测试点一个一个的都运行超时,后来又换了种思路,想用类似于在线处理的方法,结果写了几十行代码越写越乱,关键是测试点还都运行错误。。。枯了~~这个代码先把‘T’的个数算出来,在进行for循环,遇到T,就相应的减一,代码超简洁而且复杂度为O(n),太厉害了!!源码:#include<stdio.h>

2020-07-19 23:08:13 81

原创 PAT 乙级 1017 A除以B(20分)

PAT 乙级 1017 A除以B题目输入样例:123456789050987654321 7输出样例:17636684150141093474 3原题链接思路:按照手动除法的步骤一步一步往下进行,注意要考虑到被除数只有一位数的情况,此处有一个测试点。源码:#include<stdio.h>#include<string.h>int main(){ char a[1010]; int b, q, r; scanf("%s %d", a, &

2020-07-19 21:32:25 117

原创 PAT 乙级 1024 科学计数法 (20分)

PAT 乙级 1024 科学计数法题目输入样例1:+1.23400E-03输出样例1:0.00123400输入样例2:-1.2E+10输出样例2:-12000000000原题链接思路:先找到‘E’的位置,然后剩下的数、0、小数点分情况一点一点输出就可以了。第一眼看这题感觉好难的样子,看了好半天才下手去做,不过做起来一点一点分情况就好了。源码:#include<stdio.h>#include<string.h>int main(){ c

2020-07-19 20:14:22 105

原创 PAT 乙级 1063 计算谱半径 (20分)

PAT 乙级 1063 计算谱半径题目输入样例:50 12 0-1 03 30 -3输出样例:4.24原题链接源码:#include<stdio.h>int main(){ int n,a,b; double max=0; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d %d",&a, &b); if(sqrt(a*a+

2020-07-19 13:19:55 129

原创 PAT 乙级 1064 朋友数

PAT 乙级 1064 朋友数题目输入样例:8123 899 51 998 27 33 36 12输出样例:43 6 9 26原题链接思路:因为数最大只有4位,4位的和最大为36,所以建一个长度大于36的数组用来存各个朋友证号的个数,输入完后,把数组中对应个数不为0的数组下标按要求输出即可。注意:值得注意的是,这题的题目有点儿坑,我看了半天也没弄明白输出样例里面那个3是怎么来的,最后迫不得已查了一下,原来朋友证号每个数都有,跟是否有朋友数没关系~~源码:#include&l

2020-07-19 11:04:26 107

原创 PAT 乙级 1087 有多少不同的值 (20分)

PAT 乙级 1087 有多少不同的值 (20分)题目输入样例:2017输出样例:1480注意点:无。源码:#include<stdio.h>int main(){ int n, shuzu[30000] = { 0 }, a,count=0; scanf("%d", &n); for (int i = 1; i <= n; i++) { a = i / 2 + i / 3 + i / 5; if (shuzu[a] == 0) {

2020-07-19 10:03:24 86

原创 PAT 乙级 1039 到底买不买 (20分)

PAT 乙级 1039 到底买不买题目输入样例1:ppRYYGrrYBR2258YrR8RrY输出样例1:Yes 8输入样例2:ppRYYGrrYB225YrR8RrY输出样例2:No 2原题链接注意点:两个数组要的长度要大于1000;否则第二个测试点会出现运行时错误的情况。源码:#include<stdio.h>#include<string.h>int main(){ char str1[1001], str2[1001]; i

2020-07-19 07:43:23 144

原创 PAT 乙级 1038 统计同成绩学生

PAT 乙级 1038 统计同成绩学生题目输入样例:1060 75 90 55 75 99 82 90 75 503 75 90 88输出样例:3 2 0原题链接分析:创建一个分数为下标的数组就OK啦源码:#include<stdio.h>int main(){ int n1,n2, fenshu, shuzu[101] = { 0 }; scanf("%d", &n1); getchar(); for (int i = 0; i < n1

2020-07-19 00:17:48 100

原创 PAT 乙级1082 射击比赛

PAT 乙级1082 射击比赛题目输入样例:30001 5 71020 -1 30233 0 -1输出样例:0233 0001原题链接分析:就是简单的找最大最小值,输出相应ID源码:#include<stdio.h>int main(){ int n,id,x,y,max=0,min=10000,a,b; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d %d %d", &

2020-07-19 00:02:02 166

原创 PAT 乙级 1023 组个最小数

PAT 乙级 1023 组个最小数题目输入样例:2 2 0 0 0 3 0 0 1 0输出样例:10015558原题链接分析:找到除零之外的最小数,优先将其输出一位,再将剩下的数按升序依次输出即可。源码:#include<stdio.h>int main(){ int shuzu[10] = { 0 },n; for (int i = 0; i < 10; i++) { scanf("%d", &shuzu[i]); } for (int

2020-07-18 23:39:56 88

原创 PAT 乙级1013 数素数

PAT 乙级1013 数素数题目输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103分析:。。改了好长时间,第4个测试点还是过不了,有的博友说是数组开的太小了,要开到105000就可以了,但我的数组改了就运行超时了,这是为啥啊????,有同学看到能帮我指正一下吗提交结果:源码:#include<stdio.h>int main(){ int min

2020-07-18 23:16:38 125

原创 PAT 乙级 1086 就不告诉你

PAT 乙级 1086 就不告诉你题目输入样例:5 7输出样例:53原题链接分析:本题比较简单,唯一需要注意的就是当乘积最后位是零,在输出时第一位不能为0,要把0省略掉。源码:#include<stdio.h>int main(){ int a, b, d,i=0; //i用来处理乘积最后位为0的情况 long long c; scanf("%d %d", &a, &b); c = a * b; while (c != 0) { d

2020-07-18 22:13:49 105

原创 PAT 乙级 1014 福尔摩斯的约会

PAT 乙级 1014 福尔摩斯的约会题目输入样例:3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm输出样例:THU 14:04原题链接分析:主要是这道题的题目不太好理解,就着题目说的在结合样例猜出来星期是第一对字符串的第一对相同的字母,且范围为A-G,小时为第一对字符串中接着星期之后的第一对相同字母,范围为0-9 A-N,分钟为第二对字符串中第一对相同字符出现的位置。注意:星期的缩写不要拼错,不确定

2020-07-18 21:59:19 838

原创 PAT 乙级 1059 C语言竞赛

PAT 乙级 1059 C语言竞赛题目输入样例:61111666688881234555500016888800011111222288882222输出样例:8888: Minion0001: Chocolate1111: Mystery Award2222: Are you kidding?8888: Checked2222: Are you kidding?原题链接注意:需要判断素数,我刚开始做的时候以为素数就是奇数,然后按奇数做的4个测试点有3

2020-07-18 21:25:01 194

原创 PAT 乙级 1010 一元多项式求导

PAT 乙级 1010 一元多项式求导原题链接注意:在输入仅有两个数,且指数为1或0时应输出 0 0源码:`#include<stdio.h>int main(){ int shuzu[100000]; int i = 0; while (scanf("%d", &shuzu[i]) != -1) { i++; } int j; for (j = 0; j < i; j = j + 2) { if (shuzu[j + 1] != 0) {

2020-07-18 19:30:49 76

原创 PAT 乙级 1018 锤子剪刀布

PAT 乙级 1018 锤子剪刀布输入样例:10C JJ BC BB BB CC CC BJ BB CJ J输出样例:5 3 22 3 5B B原题链接思路:甲乙各用一个长度为6的数组来存储胜平负的次数以及出布赢、出锤赢、出剪赢的次数。需要注意的是本题在输入时会有换行符,而scanf()函数可以读入换行符,不会自动忽略每行的换行,所以要在scanf()函数后紧跟一个getchar(),否则会出错。源码:#include<stdio.h>int m

2020-07-18 18:59:49 107

原创 C语言输入输出

C语言输入输出对输入输出的一些琐碎知识点一直不太懂,每次都是刷题的时候不太明白了再各种查,有时候因为一个输入输出卡半天,今天稍微总结一下我平时常用的C语言输入输出方法。一、printf()、scanf()读入十进制数int a;scanf("%d",&a); //&为取地址符,来取得所定义字符a在内存中的地址要是数超级大的话(大概大于2乘10的九次方)long long a;scanf("%lld",&a);读入单个字符char a;

2020-07-18 15:35:12 415

原创 PAT 乙级 1043 输出PATest

PAT 乙级 1043 输出PATest输入样例:redlesPayBestPATTopTeePHPereatitAPPT输出样例:PATestPATestPTetPTePePee原题链接分析:这题比较简单,用一个长度为6的数组分别记录字符串中各个字母出现的次数。count中元素不全为0的时候就遍历一遍,那个数不为0,输出一个相应的字符,同时该数减1.源码:#include<stdio.h>#include<string.h>int main(){ c

2020-07-18 11:16:37 796

空空如也

空空如也

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

TA关注的人

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