![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 70
化简
这个作者很懒,什么都没留下…
展开
-
最短路径算法合集
今天是寒假的最后一天,不知道干点什么事情才更有意义,于是想到把自己看过的图论的算法写一下吧!就算做是给别人的一个参考和自己的一个总结。为了节省时间,不对该问题做太细致的介绍,也就是说这篇日志适合于已经基本了解最短路径算法的读者来看。1、Dijkstra(迪杰斯克拉)算法适用问题:该算法适用于解决①、单源最短路径:已知图G=(V,E),我们希望找出从给定某结点S∈V到V中每个原创 2013-03-02 12:59:54 · 1192 阅读 · 0 评论 -
软件大赛模拟题---二阶魔方
题目见这个人的日志:http://blog.csdn.net/liuqiyao_01/article/details/8757800我是用C++写的代码。题目分析:该题目类型为模拟,我定义了一个数组magic[3][2][4], 3代表x,y,z; 2代表正反两面,4代表一个面的四个格子。然后我用纸折了一个正方体,然后一个个的查出来的。#include#include#includ原创 2013-04-05 07:30:23 · 1324 阅读 · 0 评论 -
HDU4521解题报告(DP解决)
题目链接:点击打开链接有的同学是用线段树来解决的,不过该题是最长递增序列的推广,所以我首先想到的是用DP来解决。一、原始DP方法有一种简单的DP思路,很容易想到,不过时间复杂度为O(n^2)提交后会超时,为了便于理解后面的算法,我这里还是先介绍该方法。题意很简单就不多讲了,不过有一点需要注意,那就是题目给的S序列中可能会有重复元素。约定:用数组seq[0...n - 1] 存原创 2013-03-30 10:05:45 · 1045 阅读 · 0 评论 -
方块填数
声明:该题目出自蓝桥杯软件大赛,由于没有官方测试数据,所以不能保证算法的正确性。题目:“数独”是当下炙手可热的智力游戏。一般认为它的起源是“拉丁方块”,是大数学家欧拉于1783年发明的。 如图[1.jpg]所示:6x6的小格被分为6个部分(图中用不同的颜色区分),每个部分含有6个小格(以下也称为分组)。 开始的时候,某些小格中已经填写了字母(ABCDEF之一)。需要原创 2013-03-18 15:24:25 · 1244 阅读 · 0 评论 -
树状数组简明介绍
先看一幅图 树状数组英文名叫 Binary Indexed Tree或Fenwick Tree。这也就表明 树状数组逻辑上是一种树,但是物理上是用数组来存储。1、存储树状数组的数组下标是从1开始的。 2、如何得到一个结点的祖先结点? 观察到: 从低向上地 - 结点1(0001)【1的二进制形式是0001】的祖先节点分别是2(0010)、4(0100),8(1000) - 结点2(00原创 2015-04-26 16:50:33 · 482 阅读 · 0 评论 -
线段树学习
http://blog.csdn.net/metalseed/article/details/8039326原创 2015-05-20 15:19:08 · 474 阅读 · 0 评论 -
POJ 3468 【线段树】
区间更新区间求和思想:懒处理,对于区间更新不需要将更新具体到叶子结点,只在需要更新的时候,再细化处理。代码:import java.util.Scanner;class SegmentTree{ class Node{ int left; int right; long sum; long addValue; }原创 2015-05-23 19:01:00 · 750 阅读 · 0 评论 -
LeetCode 227. Basic Calculator II 解题报告【python】
思路分析该题是一个简单的表达式求值问题,我们可以采用“算符优先法”来解决该问题。该算法在严蔚敏的《数据结构C语言版》第三章有详细描述。该题中的每一个表达式都是由操作数和操作符组成,根据四则运算法则中的“先算乘除,后算加减”原则,任意两个相继出现的操作符op1和op2之间的优先关系至多是下面的三种关系之一:op1 < op2 表示op1的优先权低于op2op1 = op2 表示op1的优先权等于原创 2016-01-30 14:11:10 · 1514 阅读 · 0 评论 -
求递增数列中所有A[i]=i的元素(阿里巴巴2013笔试题)
求递增数列中所有A[i]=i的元素阅读更多博客,请访问博主的个人网站 点击访问网站题意描述给定一个排好升序的数组A[1]、A[2]、……、A[n],其元素两两不相等。请设计一高效的算法找出中间所有A[i] = i的下标。并分析其复杂度。思路分析该题目有两个重要的条件: 1. 排好升序的数组 2. 元素两两不相等我们根据以上两个已知条件可以得出以下定理: 定理1:在递增序列中A中,对于A的所原创 2016-02-18 12:26:25 · 1317 阅读 · 0 评论 -
杭电ACM1016解题报告(Java)
==========================================真情推荐=========================================================给大家推荐一个很吊的网站(钱宝网),个人感觉和阿里巴巴的余额宝类似,不过收益大约是余额宝的5~10倍。收益用来充话费是足够了。并且注册就送6.6元,可立马提现。本人其身体验,保证网站真实原创 2014-03-18 10:20:45 · 1764 阅读 · 0 评论 -
第三阶蓝桥杯软件设计大赛初赛——微生物增殖(解题报告)
===============================================推荐专区====================================给大家推荐一个很吊的网站(钱宝网),和阿里巴巴的余额宝有点类似,不过收益差不多是余额宝的5~10倍。一个月的收益冲话费还是够用的,注册就送6.6元,可马上提现。亲身体验,我可以保证该其真实性点击打开链接======原创 2014-03-19 10:37:28 · 1830 阅读 · 1 评论 -
最短编辑距离变形----DNA对比问题
最近做了做蓝桥杯软件大赛的题目,做到了一道需要用动态规划解决的问题。网上搜了一下,发现可参考的资源非常少。可能大牛们都没怎么听说过软件大赛吧,那就让我这棵弱菜写篇博客,介绍一下自己的思路吧!更改说明:写完博客后,总感觉可能我的方法有点问题,所以又在网上找了别人的代码生成了几组数据,发现果然有出入,于是又从新审了一下 题,发现自己把题意理解错了。请看题目第三个条件3.重码,也就是说如果要原创 2013-03-16 13:08:27 · 3560 阅读 · 4 评论 -
筛选法构造素数表
1、素数的定义指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数(不包括0)整除的数。2、判断一个数是否为素数的朴素算法根据素数的定义,我们很容易想到的一种判断方法就是:对于大于1的正整数n,从2开始到n-1依次判断是不是n的因子,如果存在一个数是n的因子,那么n就不是素数,否则就是素数。很显然这样的算法,时间效率为O(n)3、稍做优化后的算法原创 2014-03-18 16:40:50 · 2034 阅读 · 0 评论 -
蓝桥杯软件大赛练习系统——基础练习 十进制转十六进制
问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式原创 2014-05-19 09:11:37 · 1091 阅读 · 0 评论 -
ZOJ 1713 (Haiku Review)解题报告
1、题目概述该题目是一道简单的字符串处理类型题目,只需要根据题目要求用一般算法编程解决问题即可。2、题目分析输入:The input contains one or more lines, each of which contains a single haiku. (输入包含多行,每行一首Haiku体诗)A haiku原创 2014-03-30 11:11:27 · 911 阅读 · 0 评论 -
杭电ACM1010解题报告(编程语言Java)
题目概述:该题是一道典型的迷宫类搜索题目,为了达到运行效率的要求,需要采取剪枝的策略。所谓剪枝,就是根据题目的特性,将一些没必要的搜索过程省去,从而提高算法的时间效率。题目分析:问题:小狗能否从起点S,经过时间T,恰好到达终点D。条件:1、Therefore the doggie had to arrive at the door on exactly the T-th secon原创 2014-03-17 09:50:41 · 2084 阅读 · 0 评论 -
详解STL中next_permutation()函数实现
前几天,遇到一个可以用穷举法解决的问题,就是中给定几个数子,让凑出等式的类型。之前,我都是用写个函数递归调用,今天突然想到其实有一个更简单的方式来实现穷举,那就是使用STL中的next_permutation()库函数(注:头文件中包含进#include即可)。我最近在学Java,但是在Java中貌似没有这种方法,所以我想到了自己来实现这个方法。首先再来详细介绍一下next_permutati原创 2014-01-18 17:21:50 · 1635 阅读 · 0 评论 -
蓝桥杯软件大赛---分红酒(广度优先搜索)
题目:标题:分红酒 有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。 假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现? 本题原创 2013-04-03 21:23:54 · 2649 阅读 · 7 评论 -
动态规划优化 最长上升子序列 详解
最近在学习动态规划的算法,决定将动态规划的经典问题研究一下,于是便从最长非递减非连续子序列问题着手了,下面就将自己学到的一些东西和大家共享一下,希望对于研究同样问题的朋友有所帮助。 首先,该问题可描述为:给出一个由n个数组成的序列seq[1..n],找出它的最长非递减非连续序列。即求最大的 m 和a1,a2……,am,使得a1 希望新手能先将上面的题目描述读原创 2013-01-31 18:54:24 · 1635 阅读 · 0 评论 -
算法导论笔记——第十五章 动态规划
更多博客,请访问我的个人网站 点此访问一、概念部分第一部分比较抽象,建议先大体上浏览一下,有个初步印象,等熟悉第二部分的具体的例题之后,回过头再仔细总结这一部分。1.1 动态规划法思想首先说明一点,动态规划(dynamic programming)中的programming指的是一种表格法,而不是编程的意思。动态规划法的思想妙就妙在这个“表格”上。根据动态规划思想,要求解一个问题,先求解它的子问题原创 2016-02-18 22:27:39 · 784 阅读 · 0 评论