自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mark姚

计算机小白之白了再白

  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

原创 7-44 基于词频的文件相似度 (30 分)

原题:https://pintia.cn/problem-sets/15/problems/891题意:给出N个文件,文件里面含有各个单词,再给出若干对编号,找出每对编号文件里面共同单词,并且算出它们所占两者总单词数的比例。这个两者总单词数要注意,相同的不用加进去。例如:aaabbb ccc 和aaa ddd ggg 这俩的总词数是5而不是6坑点:AAA 和AAA1是共同的 qqqqqqq@abc 是两个: qqqqqqq和abc aa1a不行,必须连续起来才行,麻烦的点还是处理字符串。...

2021-07-23 21:59:49 235

原创 7-43 字符串关键字的散列映射 (25 分) 谜之测试点

原题:https://pintia.cn/problem-sets/15/problems/8900 sample 1 无冲突 答案正确 6 4 ms 452 KB 1 sample 2 有冲突 答案正确 8 5 ms 320 KB 2 有重复关键字 答案正确 3 5 ms 448 KB 3 最大和最小字符串,以及不足3位的字符串 答案

2021-07-22 21:42:29 520 2

原创 7-42 整型关键字的散列映射 (25 分)

原题:https://pintia.cn/problem-sets/15/problems/889本题是考察对哈希表的理解,这里面哈希函数是用的除留余数法。【H(key)=key%p】除留余数法的关键在于找到那个余数p;题中已经给出。规定处理哈希冲突的方法是线性探测法,就是简单地加一就行了。#include<stdio.h>#include<stdlib.h>typedef struct h{ int *data; int TableSize; }*Ha

2021-07-21 21:08:27 190

原创 Java入门学习笔记

最近在学习Java这门语言,学了就得归纳消化,不然很容易遗忘。和c比起来,前者给我的感觉就是朴实无华;java给我的感觉就是有好多新玩意,跟刘姥姥进大观园似的。从编译器上的使用就感觉出来了,像我之前用DEVC++这种编译器就是把新建源码直接往里面怼代码就行了,学Java从安装Eclipse到敲下第一个HELLO WORLD我都花了老半天..弄完以上的操作以后,我开始学习语法。【输入输出】:Java输入用的是Scanner类,想输入东西得先创建一个Scanner对象才能使用。//例如

2021-07-21 17:56:45 107

原创 7-41 PAT排名汇总 (25 分)多样排序

原题:https://pintia.cn/problem-sets/15/problems/888思路:创建一个结构体,里面包含每个考生的各种信息:姓名,成绩,分区排名,最终排名,地区struct stu { string name; int score,place,Sum_rank,zone_rank;}List[MAXSIZE];排序分成三步:第一步,对分区学生按照成绩高低进行排名,同时将排名记录进该考试信息中;第二步,对所有考生按照成绩高低进行排名,同时将排名记录进该考

2021-07-20 16:03:26 1006

原创 7-40 奥运排行榜 (25 分)多项排序

原题:https://pintia.cn/problem-sets/15/problems/867无脑解法:创建了四个结构体,依次为金牌总数,奖牌总数,人均金牌数,人均奖牌数,每一个对应一个id存入这些信息之后,利用c++的sort函数,将这四个队列按从大到小排序;最后按照优先级顺序处理同个国家同时多项排名高的:金牌总数>奖牌总数>人均金牌数>人均奖牌数处理那些同个奖项里面并列的,就是判断前一项是否和当前项相等,再利用while循环找到头这样无脑的解法思路比较简单,

2021-07-19 20:30:31 492

原创 7-39 魔法优惠券 (25 分)c++优先队列

原题:https://pintia.cn/problem-sets/15/problems/866优先级队列定义:priority_queue<int,vector<int>,greater<int> >q;//Int类型//greater 默认为从小到大//换成less 就是从大到小本题思路:将优惠券放入两个队列,分别是存放负值的队列和存放正值的队列;存放负值的队列从小到大排序,存放正值的相反;商品价值同理;根据负负得正,正正还是正,我

2021-07-19 15:36:11 300

原创 7-36 社交网络图中结点的“重要性”计算 (30 分) 不用迪杰斯特拉也不用弗洛伊德

原题:https://pintia.cn/problem-sets/15/problems/863这种无权图的最短路径直接用类似于BFS的思路就可以计算了;#include<iostream>#include<queue> #define MAXSIZE 10010#define inf 666666666using namespace std;int N,M,K;int FLAG=1;int G[MAXSIZE][MAXSIZE];int dist[MAX

2021-07-17 20:52:45 220

原创 7-35 城市间紧急救援 (25 分)c语言(测试点二未通过)

原题:https://pintia.cn/problem-sets/15/problems/862思路:对迪杰斯特拉算法进行一些添加,不仅要计算最短路径,还要计算最短路径的的条数和可调动起来最多的救援队伍。最后把路径条数和队伍数量输出,把选择的那条完整路径输出。调试过很多例子了,都没发现问题。。第二个测试点就是没过。实在是没辙了。#include<stdio.h>#define MAXSIZE 1010#define inf 666666666int N,M,S,D;int

2021-07-17 20:48:07 1272 2

原创 7-34 任务调度的合理性 (25 分)c++ vector

原题:https://pintia.cn/problem-sets/15/problems/861思路:1.计算每个结点的入度数2.入度数为0的结点表示无需依赖其他工程自己就可以完成,将这些结点入栈同时计数3.当栈未空时,取出栈一结点,对与它有关的结点度数减一,如果又产生入度数为0的结点则入栈同时计数。直到堆栈为空。4.如果计数结果和结点总数相等说明每一个任务都可以完成,输出1#include<iostream>#include<stack>#defin

2021-07-17 20:39:17 244

原创 7-33 地下迷宫探索 (30 分)c语言

原题:https://pintia.cn/problem-sets/15/problems/860看题目给出的输入输出样例就知道,这是要我们对该图从起点S出发进行深度优先搜索(DFS)遍历该图,同时要我们给出返回的路线,那么只要对DFS稍加修改就可以实现了。题中还要求说要我们判断是否能够全部走完,如果不能还要在结尾输出0#include<stdio.h>#define MAXSIZE 1010int G[MAXSIZE][MAXSIZE];int n,m,k; int visi

2021-07-15 20:00:25 816 1

原创 7-32 哥尼斯堡的“七桥问题” c语言

原题:https://pintia.cn/problem-sets/15/problems/859思路:两点:1.判断图是否联通。使用dfs 看看每一个点是否都被visit过2.以及每个节点的度数是否为偶数算出每个点的度数,判断是否为偶数可以自己拿草稿纸试试看,只要每个节点上的度是偶数,真的可以一笔划过。至于上面两个条件实现起来就很简单了。#include<stdio.h>#define MAXSIZE 1010int G[MAXSIZE][MAXSIZE];..

2021-07-15 18:59:43 642

原创 1017 Queueing at Bank (25)银行排队

原题:题目详情 (pintia.cn)题目大意:输入N,K;N代表客户总人数,K代表窗口的个数;然后N行,分别输入 每个顾客的到达时间(h:m:s)以及他们办事所需的时间(min)要求我们算出每位顾客的平均等待时间;特别提醒:银行开业时间是8:00-17:00。提前到的要等,迟到的直接没得办理,也不用把他算进总数去平均;排队不是按窗口排的,可以理解成排成一条长龙,然后先到先得。一开始我想成是有几个窗口排几条队了。。md思路:我们需要算出所有人等待的总时间TOTAL 再让这个总时间

2021-07-14 18:06:54 161

原创 7-31 笛卡尔树 (25 分)c语言

笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2值比其子树中所有结点的K2值小。给定一棵二叉树,请判断该树是否笛卡尔树。输入格式:输入首先给出正整数N(≤1000),为树中结点的个数。随后N行,每行给出一个结点的信息,包括:结点的K1值、K2值、左孩子结点编号、右孩子结点编号。设结点从0~(N-1)顺序编号。若某结点

2021-07-13 21:06:54 459

原创 7-29 修理牧场 (25 分) 哈夫曼树思想,c++优先级队列

农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L​i​​的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。如果第一次将木头锯成15和5,则第二次锯木头花费15,总花费为35(

2021-07-13 15:15:05 220

原创 7-28 搜索树判断 (25 分)c语言

对于二叉搜索树,我们规定任一结点的左子树仅包含严格小于该结点的键值,而其右子树包含大于或等于该结点的键值。如果我们交换每个节点的左子树和右子树,得到的树叫做镜像二叉搜索树。现在我们给出一个整数键值序列,请编写程序判断该序列是否为某棵二叉搜索树或某镜像二叉搜索树的前序遍历序列,如果是,则输出对应二叉树的后序遍历序列。输入格式:输入的第一行包含一个正整数N(≤1000),第二行包含N个整数,为给出的整数键值序列,数字间以空格分隔。输出格式:输出的第一行首先给出判断结果,如果输入的序列是某棵二

2021-07-13 14:04:07 421

原创 7-27 家谱处理c++ map

人类学研究对于家族很感兴趣,于是研究人员搜集了一些家族的家谱进行研究。实验中,使用计算机处理家谱。为了实现这个目的,研究人员将家谱转换为文本文件。下面为家谱文本文件的实例:John Robert Frank Andrew Nancy David家谱文本文件中,每一行包含一个人的名字。第一行中的名字是这个家族最早的祖先。家谱仅包含最早祖先的后代,而他们的丈夫或妻子不出现在家谱中。每个人的子女比父母多缩进2个空格。以上述家谱文本文件为例,John这个家族最早的祖先,他有

2021-07-13 10:37:04 513

原创 7-26 Windows消息队列 (25 分)(c语言最小堆)

消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。输入格式:输入首先给出正整数N(≤10​5​​),随后N行,每行给出一个指令——GET或PUT,分别表示从队列中取出消息或将消息添加到队列中。如果指令是PUT,后面就有一个消息名称、以及一个

2021-07-12 23:19:32 1049 2

原创 7-25 朋友圈 (25 分)c语言

某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。后面的M行每行按以下格式给出1个俱乐部的信息,其中学生从1~N编号:第i个俱乐部的人数Mi(空格)学生1(空格)学生

2021-07-12 17:14:10 1712

原创 7-23 还原二叉树 (25 分)c语言

给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5思路:通过先序序列找出根节点,通过中序序列的【特性】找出左右子树中序序列的特性:在根节点左侧的序列是左子树,右侧是右子树;通过根节

2021-07-12 15:36:54 1318 1

原创 7-22 堆栈模拟队列 (25 分) c++

设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0; int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0; void Push(Stack S, ElementType item ):将元素item压入堆栈S; ElementType Pop(Stack S ):删除并返回S的栈顶元素。实现队列的操作,即入队void AddQ(E

2021-07-12 11:26:40 456 1

原创 7-21 求前缀表达式的值 (25 分)c语言

算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、/以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式:输出前缀表达式的运算结果,保留小数点后1位,或错误信息ERROR。输入样例:+ + 2 * 3 - 7 4 / 8 4输

2021-07-11 20:16:11 4623

原创 7-20 表达式转换 (25 分) c语言

算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。输入样例:2+3*(7-4)+8/4输出样例:2 3 7 4 - * + 8 4 / +

2021-07-10 23:27:46 1267 2

library.rar

java入门学习者

2021-08-08

111100001111五子棋.rar

五子棋游戏(c语言)使用devc++即可编译运行

2021-07-04

空空如也

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

TA关注的人

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