摘要:#include <bits/stdc++.h> using namespace std; #define maxn 55 string fir[]={"tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","
阅读全文
摘要:注意一下相同分数的排名相同,比如98,97,97,96的排名是1,2,2,4 #include <bits/stdc++.h> using namespace std; #define maxn 100005 struct Student { string name; int c,m,e,ra,rc
阅读全文
摘要:题目大意:给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, ..., N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的? 大致思路:一个数有两种情况:1)这个数字一进来就溜了 在违法的边缘试探 2)这个数先在栈里面待着伺机而动 根据题目所给的序列我们可以用一个队列q
阅读全文
摘要:题目链接Median 用long int写一直爆内存,网上一查答案只会是int,心态崩了。。。 题目大意是给你两个序列,求他们合并之后的中位数。 首先,如果用数组写,内存就炸了。sort一时爽,一直sort一直爽 中位数,根据算法导论的定义,当n为奇数时,他是第(n+1)/2个顺序统计量;当n为偶数
阅读全文
摘要:水题,详见代码~ #include <iostream> #include <string.h> #include <cstdio> #include <algorithm> #include <cstdlib> #include <math.h> #include <queue> #include
阅读全文
摘要:最短路板题~想看dijkstra可以看一下另一篇。传送门https://www.cnblogs.com/FTA-Macro/p/10499725.html #include <bits/stdc++.h> #define maxn 505 #define INF 0x3f3f3f3f using n
阅读全文
摘要:题目意思就是一场比赛有多个赛区,你要分别求出每个人的赛区排名和总排名。排名要求成绩并列的排名相同,下一个排名为上一个排名的人数+1.比如排第一的有两个人,那么第三个人的排名是3而不是2。 用结构体处理,水题,但是有点小麻烦,详见代码~ #include <iostream> #include <st
阅读全文
摘要:这题写的比较匆忙,代码有点乱,仅供参考。有个坑就是一开始给的数字就是回文串,要先判断,注意一下。 #include <iostream> #include <string.h> #include <cstdio> #include <algorithm> #include <cstdlib> #in
阅读全文
摘要:这题一开始没认真看题,直接看样例以为求叶子结点和几棵树。题目的真正的意思是给你一张无环连通图,以任意点为根节点可以把该图看成一棵树,并且如果当前树的深度最大,就称这个点是Deepest Root,也就是题目所要求的(升序输出)。如果这个图有多个连通分量,求连通分量的个数。DFS可以通吃,详见代码~
阅读全文
摘要:这题O(n^2)的方法能A,但是我们还有Manacher算法可以用。之前学这个还懵逼了好久,太菜了。 两个一样的题,放一起了 这里简单写一写 Manacher用一种巧妙的方法把奇偶数长度的回文串都考虑进去,那就是字符填充。aba填充为#a#b#a#,abba填充为#a#b#b#a#。为了防越界,一般
阅读全文
摘要:题目大意就是根据树的后序遍历和中序遍历推出层序遍历。 很久没做过这种题了,正好借此复习一下数据结构。 首先是遍历的几个简单介绍。 前序遍历(preorder):根结点->左子树->右子树。 中序遍历(inorder):左子树->根结点->右子树。 后序遍历(postorder):左子树->右子树->
阅读全文
摘要:题目大意就是给出几个城市相连的图,把其中某个城市连同它与其他城市的的路径一起去掉,问最少需要加几条路让剩余的城市都相连。 这应该是并查集的基础题了,把其中一个点去掉,看一下剩下几个集合减一就得到最少结果了。注意一下路径数组的范围。详见代码。 #include <iostream> #include
阅读全文
摘要:题目大意就是找到一些数中出现最多次数的数。 一开始把数的范围看成了242,用string和cin写了一遍,其中一个超时。。。 正准备改成scanf,发现是224,20分的题花了半个小时,被自己菜哭 用map存出现次数,再记录最大次数,用一个数组记录出现的数,找一遍即可。水题~ #include <i
阅读全文
摘要:题目意思就是给两个字符串母串和子串,用母串减去子串,得到一个不包含子串中字符的母串。 用map和getline即可,水题~ #include <iostream> #include <string.h> #include <stdio.h> #include <string> #include <m
阅读全文
摘要:题目大意是给你一个环上相邻两点之间的距离,问你任意两点间的最短距离。 用前缀和,判断顺着和逆着走哪边小,注意查询点的位置不一定是后面比前面大。水题~ #include <iostream> #include <string.h> using namespace std; #define maxn 1
阅读全文
摘要:题目意思就是找到第一个没有重复的数,数据只有10^5,所以用数组水了一下。如果比较大的话应该要用map和vector。 #include <iostream> #include <string.h> #define maxn 100005 int a[maxn],b[maxn]; int main(
阅读全文
摘要:题目大意是求一些数字的各位和,看一下有多少不同的,并且按升序输出,水题~ #include <iostream> #include <cstring> #include <string> #include <sstream> #include <string> #include <cstdio> #
阅读全文
摘要:题目大意是找出没有在给定数列中最小的正数。 20分,水题,一开始写了个map暴力,果然可以过_(:3」∠)_ 想了想,把所有正数排序去重一下,最差的情况就是从1到n都已经有了,详见代码。 #include <iostream> #include <cstring> #include <string>
阅读全文
摘要:题目大意是让你把一个数转化为给定的进制数,然后判断该进制数是否是回文串。水题~ #include <iostream> #include <cstring> #include <string> #include <sstream> #include <string> #include <cstdio
阅读全文
摘要:题目大意不难懂,在一串字符中找到第一个K位素数。 20分的题,暴力就能做。有两个小点,一个是字符串string转成数字有一个stoi函数,还有一个就是截取string字符串中某一段连续的子串可以简洁写为string ts(s,i,l),其中s是母串,i是起始位置,j是要截取的长度。 判断素数用O(√
阅读全文