
PTA 团体设计天梯赛
JZK-Keven
退役ACMer
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
L2-006. 树的遍历
已知二叉树的后序遍历和中序遍历,求出它的层序遍历与前两个不同的是,层序遍历必须先建立一个树,然后BFS,就是广度优先搜索,不懂的话可以看【这篇文章】由于树的节点只能用指针指向,所以建立指针数组,再遍历就OK了。/*72 3 1 5 7 6 41 2 3 4 5 6 7*4 1 6 3 5 7 2*/#include<iostream>#include<...原创 2018-03-15 19:16:33 · 263 阅读 · 0 评论 -
L3-007 天梯地图 (30 分)
Dijkstra瞎搞,感觉这个题等于两个L2-001 紧急救援。。。明确一点,当有多条最短距离的路径时,取经过的点数最少的路径。当有多条最短时间的路径时,取距离最短的那一条。建议代码里面写点注释,不然容易搞死自己。Code:#include <bits/stdc++.h>#define ll long longconst ll inf = 1e9 + 7;u...原创 2019-03-27 19:40:21 · 917 阅读 · 2 评论 -
L3-009 长城 (30 分)
由于烽火台只能向左边瞭望,所以本题就是求图中的所有“凸起来的点”,那么哪些点是“凸起来的点”?如下图所示,点C就是凸点。这个图好像和凸包有点像,那么是不是“凸起来的点”是不是凸包上的点呢,显然不是,比如下图那么反过来,凸包上的点一定是“凸起来的点”吗?是的。并且这些点都曾经是凸包里面的点!首先假设在加入了某个点后形成了一个凸包,那么除了这个点的其他点都是凸点。(请大家仔细思...原创 2019-03-26 20:58:28 · 1280 阅读 · 0 评论 -
L2-024. 部落(并查集)
并查集,背模板就AC了,基本模板就是getf函数和merge函数,注意getf函数里面的que[k]=getf(que[k]),其中的que[k]=一定不能省略,这一步是压缩路径,如果少了这一步,非常容易运行超时!!!#include<iostream>#include<algorithm>using namespace std;int que[10005];i...原创 2018-03-29 15:47:16 · 224 阅读 · 0 评论 -
L2-021. 点赞狂魔
能用STL解决的问题都不叫问题。set是一个集合,S.size()表示的是不同标签的个数(即集合的大小)。#include<iostream>#include<set>#include<algorithm>using namespace std;typedef struct node{ string a; int count;...原创 2018-03-26 20:53:42 · 196 阅读 · 0 评论 -
L2-022. 重排链表
看注释。与上一题相同的思路,在结构体中加入一个标记值flag将结构体按顺序排列,输出的话,每一个循环输出最后的结构体和最前的结构体,具体实现看代码。这题只有22分,并没有AC,由于能力有限,希望大佬指点一下,哪里可能会错,谢谢大佬。#include<iostream>#include<map>#include<algorithm>usi...原创 2018-03-26 20:20:49 · 250 阅读 · 0 评论 -
L2-002. 链表去重
已AC,具体过程看注释。#include<iostream>#include<map>#include<algorithm>using namespace std;typedef struct node{ int pre; int data; int next; int flag;//标记 0-100000为保留...原创 2018-03-26 19:16:26 · 226 阅读 · 0 评论 -
L2-020. 功夫传人
用了一个vector容器,具体参考C++函数库#include<iostream>#include<cstring>#include<vector>#include<algorithm>using namespace std;double z,r,sum=0,people[100005];//得道者vector<int>...原创 2018-03-20 20:53:38 · 213 阅读 · 0 评论 -
L2-008. 最长对称子串
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式: 输入在一行中给出长度不超过1000的非空字符串。输出格式: 在一行中输出最长对称子串的长度。输入样例: Is PAT&TAP symmetric?输出样例: 11#inclu...原创 2018-03-14 08:58:39 · 159 阅读 · 0 评论 -
L2-010. 排座位(并查集)
背模板直接AC,没有任何坑点。#include<iostream>#include<cstring>using namespace std;int n,m,k,que[105],map[105][105];int getf(int k){ return que[k]==k?k:que[k]=getf(que[k]);}int merge(int a...原创 2018-03-29 19:27:34 · 262 阅读 · 0 评论 -
L1-043. 阅览室
用一个book数组标记一下这本书是否被借了,如果被借了,那么下次归还的时间就计算时间,两个测试点有坑。关于第一个测试点,如果一本书被第一个人借了,在他还书之前另一个人也借了这本书,则用另一个人的借书信息覆盖第一个人的信息。#include<iostream>#include<cstring>using namespace std;int main(){ ...原创 2018-03-23 10:47:10 · 461 阅读 · 0 评论 -
L3-004. 肿瘤诊断
这题并不难,一个三维BFS,不过很难AC,易错点写在注释里。#include<iostream>#include<cstring>using namespace std;typedef struct node{ int x; int y; int z;}Node;Node que[1300*130*70];int m,n,l,t;...原创 2018-03-22 20:59:42 · 306 阅读 · 0 评论 -
L2-005.集合相似度
vector容器内嵌入set容器vector<set<int> >V解释起来就是定义了一个vector容器,而vector中存的就是一个个set容器,由于set容器有自动去重功能,所以该题采用此方法较为简便。关于vector有不懂的地方可以参考【链接】关于set有不懂的地方可以参考【链接】#include<iostream>#include&l...原创 2018-03-22 20:49:55 · 347 阅读 · 0 评论 -
L2-011. 玩转二叉树
已知二叉树的中序遍历和前序遍历,求出它反转后的层序遍历反转的意思就是将这棵树的左子树和右子树调换位置输出,这题给的是中序遍历和前序遍历,其他和L2-006一样。/*71 2 3 4 5 6 74 1 3 2 6 5 7*4 6 1 7 5 3 2*/#include<iostream>#include<stdlib.h>using namespac...原创 2018-03-17 14:09:33 · 331 阅读 · 0 评论 -
L2-001 紧急救援 (25 分) 最短路
Dijkstra维护两个值。递归找起点。Code:#include <bits/stdc++.h>const int inf = 1e9 + 7;const int maxn = 505;int a, b, c, n, m, ss, ee;int dis[maxn], s[maxn][maxn], cnt[maxn], people[maxn], num[maxn],...原创 2019-03-27 19:43:12 · 2290 阅读 · 0 评论