摘要: 题目 :http://poj.org/problem?id=3617 给定一个字符序列S,按一定规则输出最小字典序的结果,规则是:如果S的头部字符小于尾部字符,那么将S的头部字符加到输出字符串,然后删除这个字符,得到新的头部字符,反之同样。 输入样例 : 6 A C D B C B 输出样例 : A 阅读全文
posted @ 2020-01-22 21:15 patrolli 阅读(94) 评论(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 阅读(499) 评论(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 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目 : http://poj.org/problem?id=3050 有一个5 5的网格,网格上每个格点有一个数字,从网格任一点出发,可以移动5步,每步可以选择上下左右四个方向,根据沿途格子上的数字可以组成一个6位数,需要得出在这个网格上能够组成多少个不同的6位数。 样例输入 : 1 1 1 1 阅读全文
posted @ 2020-01-17 22:43 patrolli 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题目 :http://poj.org/problem?id=2718 给一组十进制数,从中选出若干数字组成一个多位数,剩下的数字组成另一个数字,要求找到最小的选取组合,使得这两个数字的绝对值差最小。 样例输入 : 1 0 1 2 4 6 7 样例输出 : 28 思路 : 因为最多只有10个数字可供选 阅读全文
posted @ 2020-01-17 12:15 patrolli 阅读(106) 评论(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 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目 : 一场冰面比赛在一个矩形区域进行,区域上设置有障碍(1表示),空白区域(0表示),起点(2表示),终点(3表示)。起始在起点有一个石头,每次将它向上左下右四个方向之一抛出(当某一方向上临近有障碍时不能向这一方向抛出),石块将沿这一方向运动,直到: 石头撞到了障碍:石头停在靠近障碍的那个空格上 阅读全文
posted @ 2020-01-13 18:55 patrolli 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题目 :http://poj.org/problem?id=2386 有一个N M的矩形,'W'表示积水,'.'表示干的陆地,积水在其相邻的8个方向上如果有其它积水,那么认为这些积水是连通的,现在需要判断这块矩形中有多少块这样完全连同的积水。 输入样例 : 10 12 W........WW. .W 阅读全文
posted @ 2020-01-13 18:09 patrolli 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 题目 :http://poj.org/problem?id=3187 有一组数,对这组数相邻两个元素依次求和,求和得到新的一组数,反复执行这个操作,直到只剩下一个数。给出一个整数N和最终和,找到1~N的一种排列,使得这个排列在执行刚才所述操作后得到的数等于最终和。 输入样例 4 16 输出样例 3 阅读全文
posted @ 2020-01-09 22:59 patrolli 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 迭代器(iterator) 实现了__next()__方法的对象 可迭代对象(iterable) 实现了__iter()__方法的对象 对一个可迭代对象调用内置函数iter(),可以获得一个迭代器,对一个迭代器使用next()函数,就可以“延迟产生一个值”(lazily produce next v 阅读全文
posted @ 2019-12-06 11:01 patrolli 阅读(136) 评论(0) 推荐(0) 编辑