argorithm
marco_l
不忘初心
展开
-
最坏情况下,找到n个元素中第二小的元素需要(n-1)+(lgn向上取整+1)
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-01-23 18:30:16 · 935 阅读 · 0 评论 -
digit puzzle 数字谜 Uva12107
题目digit puzzle 数字谜 Uva12107 给一个不完整表达式,要求修改尽量少的数,使修改后的数字谜只有唯一解。空格和数字可以随意替换,但不能增删,表达式中所有涉及的数必须是没有前导零的正数。输入数字谜一定形如a*b=c,其中a、b、c分别最多有2、2、4位。用下划线表示未知数字。输入保证会有解,即有经过变换后肯定能有一个表达式有唯一解。如果有多个解,输出字典序最小的解, 下划线比数字原创 2017-09-11 10:37:23 · 843 阅读 · 0 评论 -
欧几里德|扩展欧几里德
1、欧几里德 – 求解最大公约数gcd(a,b) = gcd(bn+r, b) = gcd(a%b, b) = gcd(b, a%b) 假定 a>b; a=bn+r;int gcd(int a, int b){ return b ? gcd(b, a%b) : a;}int gcd(int a , int b){ int r; while(b!=0)原创 2017-08-24 11:31:05 · 212 阅读 · 0 评论 -
全排列、子集
问题输出数组P[a,b,b,b]的全排列\全子集 ; 注意集合元素有重复测试#define N 4char P[]={'a', 'b', 'b', 'c'}int main(){ int i, j, A[N]; printf("全排列-递归\n"); permutation1(N, A, 0); printf("全排列-非递归\n"); //用索引 转化数组原创 2017-09-04 22:43:28 · 445 阅读 · 0 评论 -
UVa 12569 - Planning mobile robot on Tree (EASY Version)
问题一棵4<=n<=15个节点的数。其中一个节点上一个机器人 还有些节点有石头, 指定机器人的起点和终点、以及石头的起始位置,求机器人最终到达终点最小步数的方案, 多解时输出一个即可. 每次机器人或者石头只能移动到相邻的空节点上。 eg: 有8个节点1\2\3\4\5\6\7\8 从1 能到达 2\6\7 从2 能到达 1\3\8 从3 能到达 2\4 从4 能到达 3\5开始2\3\4节原创 2017-09-04 00:01:35 · 345 阅读 · 0 评论 -
uva10384 The Wall Pusher 推门游戏
问题从S出发,每次往东南西北四个方向前进。 如果前方有墙壁,游戏者可以往前推移一格。 如果有连续两堵墙(包含)以上的墙,或者是游戏区域边界上的墙 则推不动。 求最少步数走出迷宫 4行6列,多解时任意输出一格移动序列即可思路迷宫怎么存储 用三元组表示一堵墙 数组wallX[y][x1][x2] 表示第y=y时 从x1与x2之间有一堵墙 数组wallY[x][y1][y2] 表示第x=x时原创 2017-09-03 23:09:27 · 326 阅读 · 0 评论 -
4093:倒排索引查询--bitmap并查集
总时间限制:1000ms 内存限制: 131072kB 描述 现在已经对一些文档求出了倒排索引,对于一些词得出了这些词在哪些文档中出现的列表。 要求对于倒排索引实现一些简单的查询,即查询某些词同时出现,或者有些词出现有些词不出现的文档有哪些。 输入 第一行包含一个数N,1 <= N <= 100,表示倒排索引表的数目。 接下来N行,每行第一个数ci,表示这原创 2017-09-01 15:38:04 · 866 阅读 · 0 评论 -
OJ_4150
题目总时间限制: 1000ms 内存限制: 65536kB描述又到周末了,同学们陆陆续续开开心心的来到机房上机。jbr也不例外,但是他到的有点晚,发现有些机位上已经有同学正在做题,有些机位还空着。细心的jbr发现,一位同学来到机房,坐在机位i上,如果他的左右两边都空着,他将获得能力值a[i];如果当他坐下时,左边或者右边已经有一个人在上机了,他将获得能力值b[i];如果当他坐下原创 2017-08-09 15:27:19 · 306 阅读 · 0 评论 -
单链表
闲着无聊,python单链表#coding:utf-8class Linked: def __init__(self): self.L = None def insert(self, k): self.pprint() node = self.Node(k) p = temp = self.L # 找到合原创 2016-02-24 14:21:33 · 263 阅读 · 0 评论 -
双向链表
#coding:utf-8class DoubleLinked: def __init__(self): self.DL = self.Node(None) # 哨兵 def insert(self, k): self.pprint() node = self.Node(k) p = self.DL tem原创 2016-02-24 14:51:27 · 243 阅读 · 0 评论 -
二叉树
#coding:utf-8class TreeNode(object): def __init__(self, data, lchild=None, rchild=None): self.lchild = lchild self.rchild = rchild self.data = dataclass BTree: def __ini原创 2016-02-26 18:33:25 · 326 阅读 · 0 评论 -
图
class Graph(object): '''无向图, 邻接表''' def __init__(self, family=None): self.node_neighbors = {} @property def nodes(self): '''所有顶点''' return self.node_neighbors.key原创 2016-02-27 17:48:29 · 689 阅读 · 0 评论 -
排序
insert插入排序 最坏O(n2)O(n^2)平均O(n2)O(n^2) shell希尔排序(不稳定) 最坏O(n2)O(n^2) bubble冒泡排序 最坏O(n2)O(n^2)平均O(n2)O(n^2) merge归并排序 最坏O(nlg(n))O(nlg(n)) 平均O(nlg(n))O(nlg(n)) quick快速排序 最坏 O(nlg(n))原创 2016-02-28 15:21:25 · 347 阅读 · 0 评论 -
PE_26
problem 26A unit fraction contains 1 in the numerator. The decimal representation of the unit fractions with denominators 2 to 10 are given:1/2 = 0.5 1/3 = 0.(3) 1/4 = 0.25 1/5 = 0.2 1/6 =原创 2016-01-24 19:22:05 · 301 阅读 · 0 评论 -
查找第n小的元素
依据快速排序的partition方法, 改进,寻找用于划分的值V 将输入数组划分成n/5组,每组中的有一个中位数,找出所有中位数的中位数,即为V#coding:utf-8#最坏情况下O(n)找到第n小的元素def insert_sort(L, begin, end): if end>begin: for i in xrange(begin+1,end+1):原创 2016-01-23 20:52:13 · 532 阅读 · 0 评论 -
POJ1009:Edge Detection
问题描述 IONU Satellite Imaging, Inc. records and stores very large images using run length encoding. You are to write a program that reads a compressed image, finds the edges in the image, as described b原创 2017-09-30 18:48:36 · 314 阅读 · 0 评论