这道题是一道我认为非常好的题,它让我初步认识了动态规划思想。先看一下题目描述: 无序的数组中找到一个具有最大和的连续子数组,返回值是和,这道题有许多种解法,但是我思考了20分钟也没有写出来,这篇文章重点说一下用动态规划来解这道题,分治思想另篇说起,先上代码: 非常唯美的代码。简洁明了,这里用到了dp ...
分类:
其他好文 时间:
2018-11-22 18:13:22
阅读次数:
181
题目链接:Pictures with Kittens (easy version) 题意:给定n长度的数字序列ai,求从中选出x个满足任意k长度区间都至少有一个被选到的最大和。 题解:$dp[i][j]$:以i为结尾选择j个数字的最大和。 $dp[i][j]=max(dp[i][j],dp[s][j ...
分类:
其他好文 时间:
2018-11-20 22:54:04
阅读次数:
150
题意:给你一个n个元素的数组,从中选取x个元素,并且要保证任意的m个位置中必须至少有一个元素被选中,问选中元素的和最大可以是多少? F1 n,m,x到200 F2 n,m,x到5000。 思路1:设dp[i][j]为选择i位置的元素,并且包括i位置已经选择了j个元素,所有选中元素的最大和。 那么为了 ...
分类:
其他好文 时间:
2018-11-17 19:10:20
阅读次数:
160
二分图如果是没有权值的,求最大匹配。则是用匈牙利算法求最大匹配。如果带了权值,求最大或者最小权匹配,则必须用KM算法。 其实最大和最小权匹配都是一样的问题。只要会求最大匹配,如果要求最小权匹配,则将权值取相反数,再把结果取相反数,那么最小权匹配就求出来了。 下面是几个模板: 1、匈牙利算法,例子是h ...
分类:
其他好文 时间:
2018-11-15 22:40:43
阅读次数:
184
列表也是python常用的数据类型,属于6个序列的其中一种 序列支持的操作:索引,切片,加,乘,检查成员等,序列也支持确认长度及最大和最小元素的方法,当然这些特性,列表也支持 列表内的数据项,数据类型可以不同,使用方法如下 一、常用方法 访问列表中的值:使用索引来获取,如: 支持分段截取,如: 还可 ...
分类:
编程语言 时间:
2018-11-15 14:33:45
阅读次数:
171
题目 最大子段和 问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 算法描述 设一个数组a[ ],用于存放n个数,定义一个整型sum存放最大和,再定义一个 ...
分类:
其他好文 时间:
2018-11-14 14:33:33
阅读次数:
97
实践题目:求经过数字三角形的最大和 问题描述:从三角形的顶端往下走,求经过数字之和最大的一条路径。 算法描述:把第0行第0列的值全都赋值为零,这样三角形的数a[i][j]就都可以用统一的式子表示了,最后在第n行的时候经过比较得到答案。 算法时间及空间复杂度分析:算法中使用了双重循环,所以该算法的时间 ...
分类:
其他好文 时间:
2018-11-11 23:22:49
阅读次数:
125
二分答案本质已经出来了 就是每次根据m次比较,找最值(只要有m次操作,有序单调基本都可用) 最小最大和最大最小略有不同(走的方向更新解的方向刚好相反,理解了本质都一样) 关键和难点还是写judge函数怎么找到每次枚举答案的次数,怎么找到写出m次。 ...
分类:
其他好文 时间:
2018-11-09 23:27:23
阅读次数:
310
一。实验要求 1.输入一个整型数组,数组里有正数也有负数,数组中一个或多个整数组成一个整数组,每个子数组都有一个和。 2.数组可以首位相连,允许A【i-1】,....,A[n-2],A[0]........A[j-1]和最大 3.返回最大子数组的位置,求最大子数组的和. 二、实验思路 循环数组,也就 ...
分类:
编程语言 时间:
2018-11-04 19:41:26
阅读次数:
201
码云地址:https://gitee.com/axsj/disancikaohe/tree/master 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大和最小值都是唯一的。 输入格式: 输入在第一行中给出一个正 ...
分类:
其他好文 时间:
2018-11-04 19:16:45
阅读次数:
158