自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 UVa 156 Ananagrams

题目大意输入一些单词,找出满足一下条件的单词:该单词不能通过字母重新排列,得到输入文本中的另一个单词。在判断是否满足条件时,字母不分大小写,但是输出时应保留大小写,并按照字典序进行排列。解题思路首先可以想到,我们需要map来存储不重复的单词。那么什么是不重复的单词呢,从题意我们知道,不重复的单词是指,以字母为数组,两个数组中的元素不重合的单词。那么我们可以把所有的单词按照字典序进行重新排列,排列之后两个单词是否相同就很明显了。由于输出单词的样子要和输入的一样,并且输出的单词要按照字典序排列,所以

2021-03-20 17:12:22 86 2

原创 常用库函数及STL用法总结

这么久我一直都没学会怎么用stl,觉得超级难,就算看题解看到map啊set啊queue啊,我也非要换种方法来写。就觉得这么难懂我肯定不会嘛今天才想明白!其实不是它难,而是我自己觉得它难,觉得自己学不会,一直在逃避。明明这样只会原地踏步不进则退。所以今天, 我就来总结一下STL的用法,希望能总结全面。过完今天我就是STL熟练玩家!目录常用库函数及自定义函数gcdpow(x, y)stoi十个一组为一行,空格隔开STL序列式容器关联式容器常用库函数及自定义函数好吧先总结几个最近用到,但是突然想不起来的小

2021-03-20 16:09:34 327 2

原创 DS单链表--类实现

感觉单链表的实现和线性表差不多,区别在于单链表的地址不连续。我的理解就是:单链表的每个节点叫什么不重要,在哪儿不重要,重要的是前面连着一个,后面跟着一个。也就是说,只有node1->next=node2, node2->next=node3,没有node[1], node[2]因此,在查找,插入,或者删除的时候,都比较有特点。查找时间复杂度为O(N),每次都是通过节点=节点.next来查找第i个或者值相同的元素。插入本身时间复杂度为O(1),但是插入之前需要查找。查找完成后,只需要改变第

2021-03-18 19:46:01 501

原创 UVa 548 Tree【二叉树】

题目大意输入二叉树的中序和后序,找出从叶子节点到根最小的权值和,并输出该叶子节点的值。解题思路首先要根据二叉树的中序遍历和后序遍历还原二叉树。后序遍历的最后一个数,就是根节点的值。可以在中序遍历中找到根节点,根节点左边即为左子树,右边即为右子树,这样就可以还原二叉树了。而要找到权值和最小的路径,只需要遍历每一个叶子节点,求权值和就可以啦复杂度分析递归建树时间复杂度为O(N),遍历叶子节点时间复杂度为O(N)心得体会主要考察的就是中序遍历后序遍历的特点。再有就是stoi函数,可以把数字字符

2021-03-17 11:27:10 66

原创 UVa 122

VJ链接本题对我来说应该算是二叉树的入门题(…其实是因为这是我做的二叉树第一题)前半段基本抄的紫书,后面的main部分抄的别的博主的hh,总之代码就没有我自己写的部分。感觉二叉树好难,如果让我现在重新实现二叉树,我可能还是不会。但是最大的问题就是,我抄的博主代码,不知道是哪里出错了,一直不对,后来直接复制粘贴了(对不起我知道这样不对!!感觉这道题没有什么技巧,我感觉作为实现二叉树的基础题应该可以。不过这周必须把这道题独立写一遍有一篇写的很详细的题解uva122,有空一定要仔细看!!今天先写另一篇题

2021-03-17 10:19:50 113

原创 UVa 514 Rails

VJ链接(紫书P140)题目大意:右边铁轨进入火车,从左边铁轨出。出去的方式有两种,一是直接从右边铁轨出去,另一种是先进入中转站,然后从中转站按照先进后出的顺序出去。也就是说,从右边出去了就不能回来,去中转站也不能再回去,是一个单向的过程。比如有五节车厢,(1 2 3 4 5),(1 2 5 4 3),(5 4 3 2 1)都是可以实现的。比如1 2 5 4 31直接出去,2直接出去,3 4 5先进入中转站,然后从中转站先进后出,按照5 4 3的顺序出去。还要注意输入输出的格式。思路每

2021-03-12 23:12:47 69

原创 UVa 10305 Ordering Tasks【拓扑】

VJ链接(紫书P167)简单的拓扑排序,但是自己对拓扑排序算不上熟练,用起来也是磕磕绊绊的,同时由于自己写的代码迟迟和样例输出一样,一直以为自己错了。后面才发现,这可是拓扑排序呀,我怎么这么笨,答案不唯一的。题目大意:给n个任务,m个关系,输入m行(u, v),代表u < v。对n个任务进行从小到大的排序。思路vis[i][j]表示 i < j 的关系,a[i]表示比 i 小的元素的个数拓扑排序,如果a[i] == 0,就输出 i ,改变a[i]的值,并且找出所有 i < j

2021-03-12 21:37:24 63

原创 UVa 572 Oil Deposits【种子填充】

VJ链接(紫书P162)题目大意:@代表油田,油田八个方向内相邻即可连接成大油田,判断有几个大油田思路用dfs遍历,遇到@就在八个方向上遍历查找,并标记这个@,防止重复查找。找到@再dfs。dfs一次,即为找到一个大油田,同时已经把这个油田的所有@做了标记,因此下一次再dfs,找到的即是另一个不同的油田。回看这道题好像也不是很难,紫书虽然把这道题归到了图里面,但是用的是二维数组存储。这道题的算法被称为种子填充,虽然写了,但还是不算很明白。有时间回来总结。#include <iostr

2021-03-12 21:13:38 79

原创 UVa 10815 Andy‘s First Dictionary

VJ链接 紫书112set的基础用法!超级重要!!!首先set可以直接insert插入,其次set存储使用二叉树直接排序,也就是说只要一行代码for(set<string>::iterator it = dict.begin(); it != dict.end(); it++)即可完成字典序的输出(从小到大的输出)同时还有几个stl函数的使用:isalpha:判断是否为英文字母。小写字母返回2,大写字母返回1,非字母返回0.tolower:变成小写字母最后是stringstrea

2021-03-06 17:18:22 90

原创 UVa101 The Blocks Problem

VJ链接 (紫书110)vector应用题目不难,好好分析题意就能写出来。虽然是照着lrj的板子抄的…函数可以使用指针来改变参数变量。eg:Find(int a, int &p, int &h)在函数中即可改变p和h的量vector的用法vector.resize(n)改变容量的大小为n,如果n<size,删除多余元素vector.resize(n, t)把新加入的元素初始化为t#include<iostream>#include<vecto

2021-03-06 16:57:50 54

原创 UVa10474 Where is the Marble?

VJ链接考察sort和lower_bound的用法水题lower_bound 返回的是地址vector: lower_bound(v.begin(), v.end())#include<iostream>#include<algorithm>using namespace std;int marbles[10005];int main(){ int n,q; int k=1; while(cin>>n>>q &

2021-03-06 15:21:08 76

空空如也

空空如也

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

TA关注的人

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