算法练习
文章平均质量分 76
以HDU题目为例,记录算法菜鸡的ACM训练中摸爬滚打的日常。
beater_Kirito
这个作者很懒,什么都没留下…
展开
-
PAT 1094 The Largest Generation——简单BFS应用
题目A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level belong to the same generation. Your task is to find the generation with the largest population.Input Specification:Each input file contains one test case.原创 2021-08-30 22:12:47 · 236 阅读 · 0 评论 -
图论之DFS与BFS
深度优先搜索(BFS)与广度优先搜索(DFS)是图遍历中的二大重要方法。其中BFS主要用于遍历或搜索图、树及走迷宫等回溯问题中。而DFS则通常用于求起点到终点的最短路径及求两点间最优路径的问题一、BFS我们首先来看一下对于一个无向图来说,BFS的遍历过程如下:由上图我们可以看出,对于上述图,我们BFS的遍历结果为 ADFEBC。...原创 2020-05-19 14:50:27 · 749 阅读 · 2 评论 -
DP练习——LIS与LCS(二)
LIS与LCS之LCS 篇LCS,即最长公共子序列,题目原型为给定2个字符串,要求求出这2个字符串的最长公共子序列长度。由LIS篇可知,该题目依然可以用类似LIS的方法,也就是按序列长度来划分状态的方法来解决问题。我们记2个序列分别为S1,S2,lcs[i][j]表示S1的前i个元素和S2的前j个元素的最长公共子序列的长度。由LIS基础可知,我们可以通过一个循环嵌套来直接遍历出所有情况,而当...原创 2020-05-06 11:56:02 · 176 阅读 · 0 评论 -
DP练习——LIS与LCS(一)
LIS与LCS之LIS篇LIS(Longest Increasing Subsequence)即最长上升子序列,该类问题的题意大概为给定一个序列,在原序列中任取任意多项,不改变其在原序列中的先后次序,得到的子序列要求长度最长、数值递增。需要注意的是该最长子序列不一定唯一,例如,给定序列[2,1,6,4,7,5,7,4]的最长子序列可为[1,4,5,7]或[2,4,5,7],两个子序列长度均为4,...原创 2020-05-05 23:51:30 · 290 阅读 · 0 评论 -
约瑟夫环模拟法、数学归纳法详解(C\C++实现)
约瑟夫环是一个典型的循环队列的问题,经典题目就是报数,题目如下已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。求最后剩下的人的初始编号。从题目中,我们能很清楚的知道,对于这类题目我们可以使用模拟法,运用一个循环队列,来模拟该情景,即...原创 2020-04-10 10:19:33 · 737 阅读 · 1 评论 -
HDU 1097题解
一、题目如下Problem Descriptionlcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how to know the a^b.everybody objects to this BT problem,so lcy makes the problem easier than be...原创 2020-04-09 21:44:16 · 170 阅读 · 0 评论 -
HDU 1079题解
在正式开始之前,我先自言自语几句,这段纯粹是写给以后的自己看的,大家还请点击此处跳过。这些题解,其实都是好久之前的,是当初ACM算法训练的时候写下的,当时觉得写博客麻烦又浪费时间,但后来,慢慢的发现写博客还是有些用的,最近这段时间又在重新训练算法,正好就整理一下以前的一些比较复杂的题目出来,再学习一遍。好了,废话不多说,我们来看题目吧。Problem DescriptionAdam and...原创 2020-04-09 21:29:22 · 236 阅读 · 0 评论