题目:https://www.luogu.org/problemnew/show/P2425 大意:求 t 个数,a[1.....t] 满足其在 x 进制下是回文数,求x。 题解: 1.可以枚举x,求出。(不知道可不可以)。 2.当 x 大于sqrt(a) 时,数字会只有两位数。 所以设 i 为两位 ...
分类:
编程语言 时间:
2019-05-25 18:19:34
阅读次数:
145
题目描述 从N个元素中随机抽取k个元素,但的k个数无法事先确定。 在实际应用中,往往会遇到很大数据流的情况。因此,我们无法先保存整个数据流然后再从中选取,而是期望有一种将数据流遍历一遍就得到所选取的元素,并且保证得到的元素是随机的算法。 特别地,此题元素为1 N。 解题思路 蓄水池算法。 1. 先选 ...
分类:
编程语言 时间:
2019-05-18 22:31:17
阅读次数:
165
题目条件:线性表顺序存储,且每个元素都是不相同的整数型元素 本题可采用快速排序的划分思想来设计算法,只需遍历一次即可,其时间复杂度为O(n) 空间复杂度为O(1) 基本思想是:先从前往后找到一个偶数元素,再从后往前找到一个奇数元素,将二者交换。 ...
分类:
移动开发 时间:
2019-04-30 19:55:34
阅读次数:
228
每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西! Algorithm: 学习算法 题目:Generate Parentheses 题目大意:给出n对小括号,求出括号匹配的情况,用列表存储并返回,例如:n=3时,答案应为: ...
分类:
编程语言 时间:
2019-03-08 18:21:27
阅读次数:
218
题目: 在上一篇博客的基础上,这是另一种方法求最短路径的问题。 Dijkstra(迪杰斯特拉)算法:找到最短距离已经确定的点,从它出发更新相邻顶点的最短距离。此后不再关心前面已经确定的“最短距离已经确定的点”。 Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短 ...
分类:
编程语言 时间:
2019-02-22 01:06:48
阅读次数:
241
题目: 最短路:给定两个顶点,在以这两个点为起点和终点的路径中,边的权值和最小的路径。考虑权值为点之间的距离。 单源最短路问题,Bellman-ford算法 思路:每次循环检查所有边,可优化。 应用于旅游等路径最小问题。 代码: 对于上一个代码。可以先把边集提取出来,这样不用每次扫描二维数组。 Ed ...
分类:
编程语言 时间:
2019-02-22 00:51:23
阅读次数:
204
题目: 思路: 把时间当做距离利用Dijkstra算法来做这个题。 前提:该结点e.c<=e.a,k = d[v]%(e.a+e.b); 当车在这个点的1处时,如果在第一个a这段时间内能够通过且更小的话,那时间就更新为d[e.to] = d[v]+e.a-k+e.c; 当车在这个点的1处时,如果在第 ...
分类:
编程语言 时间:
2019-02-21 14:19:01
阅读次数:
153
前言最近工作不是特别忙,所以有更多时间来学习算法相关知识,补短处。题目来源于leetcode,通过一个算法题,我们去分析该算法题所属类型,以及解题思路,以及该算法题所用到的数学知识。选择的算法题目从容易到困难,逐步提高难度,解题的思路也是从简单到复杂,时间复杂度也是从低到高的顺序来书写这个系列的博客。因工作语言和使用熟练度原因算法采用Java编写,但该系列中可能会穿插c、C++、python语言实
分类:
编程语言 时间:
2019-02-21 11:06:26
阅读次数:
223
每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西! Algorithm: 学习算法 题目:https://leetcode.com/problems/zigzag-conversion/ 解题过程: 刚开始没看懂什么意思, ...
分类:
编程语言 时间:
2019-02-11 15:34:51
阅读次数:
171
题目链接:传送门 思路: 题目要将使每一对草场之间都有至少两条相互分离的路径,所以转化为(一个有桥的连通图至少加几条边才能变为双联通图?) 先将桥删除,然后原图变为多个连通块,每一个连通块就是一个边双联通分量,将双联通子图收缩为一个顶点,再把桥边加回来,边连通度为1, 顺便统计度为1的节点的个数,即 ...
分类:
移动开发 时间:
2019-02-09 17:47:03
阅读次数:
237