
SHUATI
Cooody
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1111 Online Map
题目:Online Map 题意描述: 题目要求给出两条路径,一条路程最短,一条时间最短。 如果最短路程相同,则选取时间最短的那条(不要和和单纯时间最短混淆); 如果最短时间相同,选取边数最少的那条。 思路: 利用Dijkstra算法,这里维护两个vis数组,一个是最短路径的,一个是最短时间的,然后在一次Dijkstra中,分别对最短路径和最短时间的相关量做更新。 disVis,te...原创 2020-02-14 17:19:02 · 240 阅读 · 0 评论 -
1099 Build A Binary Search Tree
题目 Build A Binary Search Tree 思路 题目描述:题目给定一个BST的结构,再给出一个输入序列来构造BST,(这样的二叉树是唯一的); 要求输出BST的层序遍历; 思路:给出的序列是无序的,可以先将其排序(增序); 二叉搜索树的中序遍历序列即排序后的输入序列; 可以利用中序遍...原创 2020-02-03 23:04:27 · 119 阅读 · 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 · 97 阅读 · 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 · 111 阅读 · 0 评论 -
PAT Head of a Gang
题目大意 给出一组帮派之间的通话记录(通话时长),要求给出符合题目条件的帮派数量,各个帮派的老大以及成员数量。 考察点 连通集,DFS,映射。 注意点 题目的边权并不是一次性给出的,需要累加。 对每个节点建立索引,这里用map和vector实现。 使用DFS更新数据。 代码 #include <bits/stdc++.h> using namespace std; v...原创 2020-01-21 14:01:12 · 183 阅读 · 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 · 238 阅读 · 0 评论 -
PAT 表达式转换
链接:表达式转换 思路: 中缀转后缀的思路比较简单,对于数字直接输出,符号需要建立栈来维护,规则如下: 栈空或者左括号,直接入栈; 遇到右括号,不断出栈直到栈空或者遇到左括号,最后弹出左括号。 其他符号,从栈顶开始,弹出栈内比当前符号优先级高或者相等的符号,然后将当前符号入栈。 最后要把栈中所有符号输出。 此题比较坑的地方就是样例会给出一些比较难处理的表达式,比如以负号开头,左括号后的正负号,...原创 2020-01-15 18:53:41 · 512 阅读 · 0 评论 -
两个有序链表序列的交集
题目:https://pintia.cn/problem-sets/15/problems/2999 思路: 用数组存储数据,设两个指针分别扫描两个数组,比较两个指针指向数据的大小,较小的继续向后扫描,相同就记录下来,直至其中一个数组尾部,结束扫描。 注意: 第五个测试点数据量较大。 代码: #include <iostream> #include <vector&g...原创 2019-12-22 15:18:42 · 409 阅读 · 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 · 292 阅读 · 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 · 396 阅读 · 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 · 216 阅读 · 0 评论 -
1094 谷歌的招聘
2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。 自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2....原创 2019-04-04 22:05:20 · 227 阅读 · 0 评论