温习反思
文章平均质量分 53
leoxry
天道酬勤,拼搏一个最好的自己送给未来的自己,每天开开心心敲代码就是一种幸福,不计得失,回归刚开始学习时内心的单纯
展开
-
图结构练习——BFS——从起始点到目标点的最短步数
think: 1广度优先搜索体现了一种队列思想,而深度优先搜索则体现了一种递归思想,广度优先搜索与深度优先搜索可以说互相是一种协调互补共同结局问题的方法或思想,经过最近假期的的学习,算法与数据结构给自己不断的感悟就是,算法与数据结构体现了解决问题的思想,追求一种更高效率的解决问题的方法,而且感觉深度优先搜索与广度优先搜索对之后的图的最短路径问题起着基础的效果sdut原题链接图结构练习——BFS——原创 2017-03-08 17:00:36 · 605 阅读 · 0 评论 -
priority_queue优先队列
blue学长的STL小课堂之优先队列/*priority-queue——优先队列*//* 常用函数: q.push(x);//入队 q.pop();//出队 q.top();//访问对首元素 q.empty();//判断是否为空 q.size();//返回元素数量*/#include <cstdio>#include <queue>using原创 2017-04-01 16:47:03 · 558 阅读 · 0 评论 -
装船问题——贪心算法思想
Think: 1不要与背包问题混淆,题意挑选货物若干吨而不是挑选多少种货物sdut题目链接装船问题 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 王小二毕业后从事船运规划工作,吉祥号货轮的最大载重量为M吨,有10种货物可以装船。第i种货物有wi吨,总价值是pi。王小二的任务是从10种货物中挑选若干吨上船,在满足货物总重量原创 2017-04-15 15:42:10 · 1385 阅读 · 0 评论 -
最长公共子序列问题——动态规划
Think: 1递推关系: a[i][j] = 0//i == 0 || j == 0 a[i][j] = a[i-1][j-1] + 1//st1[i-1] == st2[j-1] a[i][j] = max(a[i-1][j], a[i][j-1])//st1[i-1] != st2[j-1] 2建议参考博客 3博客参考图片,以下图片来自于建议参考博客 最长公共子序列问题 Tim原创 2017-04-15 19:01:25 · 437 阅读 · 0 评论 -
最长上升子序列——动态规划
Think: 1递推思想反向推演 递推关系1: b[i] = 1//i == 1 || Vi, max(b[i], b[j+1]) = 0; b[i] = max(b[i], b[j]+1)//j:(i-1)->1, a[j] < a[i] 临界条件:b[1] = 1; 递推关系2: b[i] = Maxb[j] + 1//j < i && a[j] < a[i]sdut题目链接最长上原创 2017-04-15 19:47:28 · 597 阅读 · 0 评论 -
H - Hard to Play ZOJ - 3712
Think: 1英语读题理解能力自己需要提高 2注意细节细心写代码vjudge题目链接以下为Accepted代码#include <bits/stdc++.h>using namespace std;int main(){ int T, a, b, c, i; int tp, v[1504]; scanf("%d", &T); while(T--){原创 2017-04-21 20:04:11 · 449 阅读 · 0 评论 -
素数链表——初级素数表+链表基本操作
Think: 1初级素数表 2链表基本操作:顺序建立链表+查找+删除+遍历素数链表 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 我们定义素数链表为元素全部是素数的链表。 给定一个初始含有 n 个元素的链表,并给出 q 次删除操作,对于每次操作,你需要判断链表中指定位置上的元素,如果元素存在且不是素数则删除。 在所原创 2017-05-05 20:03:56 · 864 阅读 · 0 评论 -
母牛的故事
think: 1递推思想——动态变化,之前的座位问题有一种分类讨论的思想,而这个题目感觉在递推规律的寻找中展现着一种动态规律变化的思想,题目题点之一在母牛从第二年年初生一头小母牛,每头小母牛从第四个年初开始生一头小母牛,需要注意的是小母牛再生母牛与其出生的年之间相差的是三年,枚举情况的时候可以把每一年不同岁数牛的不同数目枚举出来,这样有利于推演下一年的母牛数,其实当前年的母牛数等于前一年的母牛数加原创 2017-03-25 15:32:36 · 621 阅读 · 0 评论 -
Fighting_小银考呀考不过四级
think: 1递推:寻找事物之间的规律,通过问题之间的联系,推测其满足的基本规律,本题题点在于每两个人之间至少会留下两个空座位,再就是注意每排至少一人,因此可以尝试多枚举几组数组在纸上,然后找规律,枚举的时候尽量注意保留前后两者的某一共同点,然后思考前一组和当前组存在的联系,这个题目当枚举5组数据的时候会发现,当前组数据可已从两个方面进行分类讨论,一个就是新加的座位不坐人,一个就是新加的座位坐上原创 2017-03-25 14:59:52 · 1123 阅读 · 0 评论 -
A - Wireless Network ——并查集
Think: 1知识点:并查集 2题意分析:初始状态已知n台电脑坐标,以及电脑连接的最大距离,进而,2种操作,操作O将电脑u连接到可连接集合,操作S询问电脑u和电脑v是否在同一集合 3解题思路:预处理各台电脑与其它电脑的距离,标记已修复电脑,操作O枚举并通过并查集连接可与电脑u连接的电脑,操作S通过并查集进行判断是否在同一集合 4优化思路:将可连接坐标预处理并通过前向星记录可与当前结点连接的原创 2017-07-22 09:31:10 · 635 阅读 · 0 评论 -
数据结构实验之串三:KMP应用
think:下午一直在做这个题,因为自己对KMP算法并不理解,自己错了一遍又一遍,感觉自己的心态以及迎难而上的决心并不坚决,希望自己能够尽快克服自己的情绪战胜自己对一些因素的懦弱。最后自己想写一组数据,自己认为后台判定应该加入这类数据,希望大家在下方讨论区留下自己对这组数据的见解,谢谢。 example input: 6 1 2 3 3 3 3 3 3 3 3 example outpu原创 2017-02-04 16:39:01 · 446 阅读 · 0 评论 -
【dfs/bfs+记录路径】Transformation: from A to B
Think: 1知识点:dfs/bfs+记录路径 2题意:输入两个数a,b,询问通过两种操作是否可以由a得到b 操作1:a = a*2 操作2:a = a*10 + 1vjudge题目链接以下为Accepted代码——bfs+记录路径#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typ原创 2017-11-25 09:54:13 · 728 阅读 · 0 评论 -
小鑫的城堡——并查集
think: 1初始化+查询+合并 2记录数组记录当前元素结点是否被访问过sdut原题链接小鑫的城堡 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 从前有一个国王,他叫小鑫。有一天,他想建一座城堡,于是,设计师给他设计了好多简易图纸,主要是房间的连通的图纸。小鑫希望任意两个房间有且仅有一条路径可以相通。小鑫现在把设计图原创 2017-03-14 21:44:54 · 424 阅读 · 0 评论 -
电影节——并查集
think: 1初始化+查询+合并 2注意:数组记录的boss不一定是当前元素的最终boss建议参考文章——segmentfaultsdut原题链接电影节 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 某届电影节评选电影,共有两部电影进入最后评选环节,有n名观众,每个人有一次投票的机会,每个人都按照规则投给其中一部电影原创 2017-03-14 20:51:41 · 352 阅读 · 0 评论 -
小雷的冰茶几——并查集
think: 1并查集部分基本知识包括三个过程即可由三个函数来完成,第一是初始化过程,第二是查找过程,第三是合并分元素过程 2初始化过程中默认每一个分元素的Boss元素是其本身 3查找过程可以有递推思想完成,也可由递归思想完成,尽量使用递推方法,递推方法可以减少查找时间而且不用担心递归可能会造成栈溢出的问题 4合并分元素的过程其实就是分别寻找两个分元素的Boss元素,然后直接将Boss元素合原创 2017-03-14 20:25:27 · 267 阅读 · 0 评论 -
列出连通集——DFS+BFS
think: 1深度优先搜索体现了递归的思想,广度优先搜索体现了队列的思想6 列出连通集 (25分)给定一个有NNN个顶点和EEE条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1N-1N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式: 输入第1行给出2个整数NNN(0原创 2017-03-09 11:02:44 · 1807 阅读 · 1 评论 -
数据结构实验之链表三:链表的逆置
think: 1顺序插入元素建立顺序链表+链表的逆置+链表的顺序输出sdut原题链接数据结构实验之链表三:链表的逆置 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。Input 输入多个整数,以-1作为原创 2017-03-09 16:06:14 · 1027 阅读 · 0 评论 -
师--链表的结点插入
think: 1链表的查询操作+ 链表的顺序插入操作+链表的输出操作sdut原题链接师–链表的结点插入 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 给出一个只有头指针的链表和 n 次操作,每次操作为在链表的第 m 个元素后面插入一个新元素x。若m 大于链表的元素总数则将x放在链表的最后。Input 多组输入。每组数据原创 2017-03-09 15:04:23 · 488 阅读 · 0 评论 -
数据结构实验之链表七:单链表中重复元素的删除
think: 1逆序建立链表(元素逆序输出)+链表的查询操作(重复元素查询)+链表的删除操作(重复元素删除)sdut原题链接数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一原创 2017-03-09 15:35:49 · 628 阅读 · 0 评论 -
数据结构实验之链表四:有序链表的归并
think: 1顺序建立链表+链表的顺序输出+链表的有序(顺序)归并;链表的元素插入sdut原题链接数据结构实验之链表四:有序链表的归并 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的原创 2017-03-10 17:13:07 · 437 阅读 · 0 评论 -
数据结构实验之链表五:单链表的拆分
think: 1顺序建立链表+链表内元素的插入操作+链表内元素的最优解情况判断+链表内元素的顺序输出sdut原题链接数据结构实验之链表五:单链表的拆分 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个原创 2017-03-10 18:01:42 · 512 阅读 · 0 评论 -
数据结构实验之链表九:双向链表
think: 1顺序输出双向链表+双向链表中查询关键字元素所在结点+双向链表中输出关键字结点的前驱结点关键字和关键字结点的后驱结点关键字 2注意需要判断关键字所在结点前驱结点和后驱结点是否存在,如果首结点为空结点,需要判断前驱结点是否为空结点sdut原题链接数据结构实验之链表九:双向链表 Time Limit: 1000MS Memory Limit: 65536KBProblem Descr原创 2017-03-10 20:12:53 · 510 阅读 · 0 评论 -
约瑟夫问题——循环链表
think: 1顺序建立循环链表+循环链表中的符合题意的元素结点的删除 2注意只有一个人玩死亡游戏的情况sdut原题链接约瑟夫问题 Time Limit: 1000MS Memory Limit: 65536KBProblem Description n个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,原创 2017-03-10 21:12:54 · 399 阅读 · 0 评论 -
不敢死队问题——循环链表
think: 1顺序建立循环链表+在循环链表中删除符合删除题意的元素结点+控制循环链表的结束条件 2注意队伍中只有排长的情况(注意临界条件)sdut原题链接不敢死队问题 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 说到“敢死队”,大家不要以为我来介绍电影了,因为数据结构里真有这么道程序设计题目,原题如下: 有M个敢原创 2017-03-10 21:53:30 · 582 阅读 · 0 评论 -
师--链表的结点插入
think: 1链表的结点的头部插入+链表的结点的中间插入+链表的结点的尾部插入sdut题目链接师–链表的结点插入 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 给出一个只有头指针的链表和 n 次操作,每次操作为在链表的第 m 个元素后面插入一个新元素x。若m 大于链表的元素总数则将x放在链表的最后。Input 多组输原创 2017-03-28 21:12:26 · 659 阅读 · 0 评论 -
数据结构实验之链表七:单链表中重复元素的删除
think: 1逆序建立单链表+使用三个指针进行单链表中重复元素的遍历删除sdut原题链接数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。Input 第一行输入元素原创 2017-03-28 21:42:50 · 480 阅读 · 0 评论 -
种类并查集学习心得
修正信息备注: 1.【2018-01-29】创作博文基础 2.【2018-01-29】增加样例2.2一、基本性质 1.在基于并查集的基础上增加记录数组_rank,表示i与其同集合根节点的关系二、例题讲解 2.1【食物链 POJ - 1182】——vjudge题目链接题意:动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N原创 2018-01-29 10:03:11 · 1201 阅读 · 0 评论