随笔分类 -  算法题解

记录在各个网站刷题的题解
摘要:题目 : "链接" 给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出 样例输入 : 3 样例输出 : 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 思路 全排列问题,这里用回溯的方法实现 代码 阅读全文
posted @ 2020-01-25 14:32 patrolli 阅读(174) 评论(0) 推荐(0)
摘要:题目 :http://poj.org/problem?id=3617 给定一个字符序列S,按一定规则输出最小字典序的结果,规则是:如果S的头部字符小于尾部字符,那么将S的头部字符加到输出字符串,然后删除这个字符,得到新的头部字符,反之同样。 输入样例 : 6 A C D B C B 输出样例 : A 阅读全文
posted @ 2020-01-22 21:15 patrolli 阅读(99) 评论(0) 推荐(0)
摘要:最长上升子序列问题:给定一个数组A, 如A={ 7, 10, 9, 2, 3, 8, 8, 1},找到这个序列的最长递增子序列(LIS)(子序列中的元素的index不一定是连续的), 这里的LIS便是{ 7, 2, 3, 8} 方法一:动态规划(O(n^2)) 用L(i)表示A中以下标i结尾的子序列 阅读全文
posted @ 2020-01-21 23:08 patrolli 阅读(572) 评论(0) 推荐(0)
摘要:题目 : "链接" 有C个商店和M数量的钱,每个商店有若干不同价格的衣服,需要在每个商店都买一件衣服,并且最终花费的钱需要最大(但不大于M),问最多的花费是多少?如果不能在每个店都买一件衣服,那么输出no solution 样例输入 : 3 100 4 3 8 6 4 2 5 10 4 1 3 3 阅读全文
posted @ 2020-01-19 21:31 patrolli 阅读(113) 评论(0) 推荐(0)
摘要:题目 : http://poj.org/problem?id=3050 有一个5 5的网格,网格上每个格点有一个数字,从网格任一点出发,可以移动5步,每步可以选择上下左右四个方向,根据沿途格子上的数字可以组成一个6位数,需要得出在这个网格上能够组成多少个不同的6位数。 样例输入 : 1 1 1 1 阅读全文
posted @ 2020-01-17 22:43 patrolli 阅读(122) 评论(0) 推荐(0)
摘要:题目 :http://poj.org/problem?id=2718 给一组十进制数,从中选出若干数字组成一个多位数,剩下的数字组成另一个数字,要求找到最小的选取组合,使得这两个数字的绝对值差最小。 样例输入 : 1 0 1 2 4 6 7 样例输出 : 28 思路 : 因为最多只有10个数字可供选 阅读全文
posted @ 2020-01-17 12:15 patrolli 阅读(123) 评论(0) 推荐(0)
摘要:题目 :http://poj.org/problem?id=3669 在一个矩形区域,区域大小为04 0 0 2 2 1 2 1 1 2 0 3 5 样例输出 : 5 思路 : 假如起点(0,0)不会遭受到流星的攻击(也不会因为周围格子被攻击而延伸至它),那么也就不用移动就能保证安全。如果起点会受到 阅读全文
posted @ 2020-01-14 22:26 patrolli 阅读(112) 评论(0) 推荐(0)
摘要:题目 : 一场冰面比赛在一个矩形区域进行,区域上设置有障碍(1表示),空白区域(0表示),起点(2表示),终点(3表示)。起始在起点有一个石头,每次将它向上左下右四个方向之一抛出(当某一方向上临近有障碍时不能向这一方向抛出),石块将沿这一方向运动,直到: 石头撞到了障碍:石头停在靠近障碍的那个空格上 阅读全文
posted @ 2020-01-13 18:55 patrolli 阅读(109) 评论(0) 推荐(0)
摘要:题目 :http://poj.org/problem?id=2386 有一个N M的矩形,'W'表示积水,'.'表示干的陆地,积水在其相邻的8个方向上如果有其它积水,那么认为这些积水是连通的,现在需要判断这块矩形中有多少块这样完全连同的积水。 输入样例 : 10 12 W........WW. .W 阅读全文
posted @ 2020-01-13 18:09 patrolli 阅读(82) 评论(0) 推荐(0)
摘要:题目 :http://poj.org/problem?id=3187 有一组数,对这组数相邻两个元素依次求和,求和得到新的一组数,反复执行这个操作,直到只剩下一个数。给出一个整数N和最终和,找到1~N的一种排列,使得这个排列在执行刚才所述操作后得到的数等于最终和。 输入样例 4 16 输出样例 3 阅读全文
posted @ 2020-01-09 22:59 patrolli 阅读(93) 评论(0) 推荐(0)
摘要:给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为正值。 请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出 1。 输入格式 第一行包含整数n和m。 接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z 输出格式 输出一个整数,表示1号点 阅读全文
posted @ 2019-11-06 23:27 patrolli 阅读(159) 评论(0) 推荐(0)
摘要:给定一个n个点m条边的有向图,图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 1。 若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。 输入格式 第一行包含两个整数n和m 接下来m行,每行包含 阅读全文
posted @ 2019-11-05 22:33 patrolli 阅读(185) 评论(0) 推荐(0)
摘要:在给定的$N$个整数$A1,A2……AN$中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N。 第二行输入N个整数$A1~AN$。 输出格式 输出一个整数表示答案。 数据范围 $1≤N≤105,$ $0≤Ai3 1 2 3 输出样例 3 算是一个 树的模板题,归 阅读全文
posted @ 2019-11-04 23:36 patrolli 阅读(119) 评论(0) 推荐(0)
摘要:给定一个模式串S,以及一个模板串P,所有字符串中只包含大小写英文字母以及阿拉伯数字。 模板串P在模式串S中多次作为子串出现。 求出模板串P在模式串S中所有出现的位置的起始下标。 输入格式 第一行输入整数N,表示字符串P的长度。 第二行输入字符串P。 第三行输入整数M,表示字符串S的长度。 第四行输入 阅读全文
posted @ 2019-10-24 23:49 patrolli 阅读(127) 评论(0) 推荐(0)
摘要:题目描述 给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续区间,输出它的长度。 输入格式 第一行包含整数n。 第二行包含n个整数(均在0~100000范围内),表示整数序列。 输出格式 共一行,包含一个整数,表示最长的不包含重复数字的连续子序列的长度。 数据范围 $15 1 2 2 3 阅读全文
posted @ 2019-10-06 20:59 patrolli 阅读(243) 评论(0) 推荐(0)