SHUATI
Cooody
这个作者很懒,什么都没留下…
展开
-
1111 Online Map
题目:Online Map题意描述:题目要求给出两条路径,一条路程最短,一条时间最短。如果最短路程相同,则选取时间最短的那条(不要和和单纯时间最短混淆);如果最短时间相同,选取边数最少的那条。思路:利用Dijkstra算法,这里维护两个vis数组,一个是最短路径的,一个是最短时间的,然后在一次Dijkstra中,分别对最短路径和最短时间的相关量做更新。disVis,te...原创 2020-02-14 17:19:02 · 186 阅读 · 0 评论 -
1099 Build A Binary Search Tree
题目Build A Binary Search Tree思路题目描述:题目给定一个BST的结构,再给出一个输入序列来构造BST,(这样的二叉树是唯一的); 要求输出BST的层序遍历;思路:给出的序列是无序的,可以先将其排序(增序); 二叉搜索树的中序遍历序列即排序后的输入序列; 可以利用中序遍...原创 2020-02-03 23:04:27 · 57 阅读 · 0 评论 -
PAT 1053 Path of Equal Weight
问题描述:题目链接思路:暂略CODE ⇩⇩⇩#include <bits/stdc++.h>using namespace std;int w,weight[100],marked[100],parent[100];map<int,vector<int>> nonLeafNode;auto cmp = [](int a,int b){ret...原创 2020-02-03 00:09:56 · 55 阅读 · 0 评论 -
1043 Is It a Binary Search Tree
题目大意:给定一个查找二叉树的序列,判定这个序列是不是前序遍历的对应的BST的前序遍历序列。思路:考察基本的树的建立和遍历等知识。注意点:如果是镜像BST,要输出镜像的后序遍历。(题目好像没有说清楚)CODE ⇩⇩⇩#include <bits/stdc++.h>using namespace std;vector<int> preList,mirr...原创 2020-01-21 21:56:46 · 76 阅读 · 0 评论 -
PAT Head of a Gang
题目大意给出一组帮派之间的通话记录(通话时长),要求给出符合题目条件的帮派数量,各个帮派的老大以及成员数量。考察点连通集,DFS,映射。注意点题目的边权并不是一次性给出的,需要累加。 对每个节点建立索引,这里用map和vector实现。 使用DFS更新数据。代码#include <bits/stdc++.h>using namespace std;v...原创 2020-01-21 14:01:12 · 140 阅读 · 0 评论 -
PAT Travel Plan(dijkstra应用)
简介:写这道题的时候思路很清晰,毕竟只是套个模板。思路:Dijkstra 算法直接用就行。第一遍提交就AC了,果然c++做算法题比Java好用太多了(~ ̄▽ ̄)~PS:具体请看注释(好久没写这么多注释了(‾◡◝)#include <bits/stdc++.h> //这个库包了目前c++所有的头文件。#define INF 0x3f3f3f3f //设置无穷大usin...原创 2020-01-19 21:17:02 · 152 阅读 · 0 评论 -
PAT 表达式转换
链接:表达式转换思路: 中缀转后缀的思路比较简单,对于数字直接输出,符号需要建立栈来维护,规则如下:栈空或者左括号,直接入栈;遇到右括号,不断出栈直到栈空或者遇到左括号,最后弹出左括号。其他符号,从栈顶开始,弹出栈内比当前符号优先级高或者相等的符号,然后将当前符号入栈。最后要把栈中所有符号输出。此题比较坑的地方就是样例会给出一些比较难处理的表达式,比如以负号开头,左括号后的正负号,...原创 2020-01-15 18:53:41 · 432 阅读 · 0 评论 -
两个有序链表序列的交集
题目:https://pintia.cn/problem-sets/15/problems/2999思路: 用数组存储数据,设两个指针分别扫描两个数组,比较两个指针指向数据的大小,较小的继续向后扫描,相同就记录下来,直至其中一个数组尾部,结束扫描。注意: 第五个测试点数据量较大。代码:#include <iostream>#include <vector&g...原创 2019-12-22 15:18:42 · 358 阅读 · 0 评论 -
畅通工程之局部最小花费问题
题目:https://pintia.cn/problem-sets/15/problems/897大体思路:最小生成树问题,这里用Prim算法实现,把已连接道路花费设为0。代码:#include <iostream>#define INF 1000;using namespace std;int n,cost[105][105],visited[105],minC...原创 2019-12-22 00:30:39 · 232 阅读 · 0 评论 -
整型关键字的散列映射
题目:https://pintia.cn/problem-sets/15/problems/889思路: 简单的散列映射,直接上代码#include <iostream>using namespace std;int hashTable[1005];int main() { int n,p; cin>>n>>p; for...原创 2019-12-21 17:12:51 · 346 阅读 · 0 评论 -
PAT-B 1014 福尔摩斯的约会 (java实现)
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;第 2 对相同的字符是E,那是第 5 个英文字...原创 2019-04-04 23:44:55 · 155 阅读 · 0 评论 -
1094 谷歌的招聘
2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。 自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2....原创 2019-04-04 22:05:20 · 158 阅读 · 0 评论