nyoj 0269 VF 意思大致为从1-10^9数中找到位数和为s的个数 分析:利用动态规划思想,一位一位的考虑,和s的范围为1-81 状态定义:dp[i][j] = 当前所有i位数的和为j的个数 除了最高位的取值为1-9(最高位不能为0),其余位的取值都为0-9,所有我们可以最开始初始化dp[1 ...
分类:
其他好文 时间:
2018-04-27 02:36:23
阅读次数:
172
个人心得:这是一道好题,线性的最大字段和在动态规划中是司空见惯的。所以对于这种动态规划的思想的巧妙转变也是需要 锻炼的,就像在暑假集训里面碰到的从1到k是递增,k到n是递减的k使得此时的和最大,当时也是毫无办法,虽然后面 想到了分别将首尾展开然后分别求递增的最大和,题目就迎刃而解了。其实这一题题目的 ...
分类:
编程语言 时间:
2017-09-23 20:20:51
阅读次数:
247
剑指offe第19题,很经典。 如果不用递归的思维做,会很麻烦。 因为对于.*、*.、*..等一些特殊情况处理会非常麻烦。 所以采用递归的思路。(如果加上的动态规划思想,记录dp[m][n]表示str + m与pattern + n是否能正确匹配。就可以把复杂度控制在O(n*n)。 ...
分类:
其他好文 时间:
2017-08-19 13:05:21
阅读次数:
188
个人心得:动态规划是一种隶属于决策学的一个算法思想,他能够很好的解决多阶段决策问题,这种思想对于我们的生活还是科研都是必不可少的, 需要好生体会,学会动态方程的转移,做到具体问题具体分析。 那这简单题目来看吧,动态三角形,很明显从第一个开始就可以看出来第一个等于下面俩个对角线中最大与自己相加,所以可 ...
分类:
其他好文 时间:
2017-08-12 11:46:29
阅读次数:
156
最大子矩阵自然直在最大连续子序列的升级版 只是其原理都是用到了动态规划思想 仅仅是矩阵用到了枚举 +合并 把非常多列看成是一列的和 #include<stdio.h> #include<iostream> #include<string.h> using namespace std; #define ...
分类:
其他好文 时间:
2017-07-26 09:44:55
阅读次数:
228
线性规划:在一定线性约束条件(s.t. subject to)下,求解目标函数的极值 以下截图都是 司守奎 的《数学建模算法与程序》中的内容 线性规划的公式为 [x, fval] = (c, A, b, aeq, beq, lb, ub) (标准形式为求解最小值, 所以如果要求最大值的话将c改成-c ...
分类:
其他好文 时间:
2017-06-19 20:59:48
阅读次数:
219
Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence of a string is a new string which is formed from t ...
分类:
其他好文 时间:
2017-05-29 21:09:30
阅读次数:
204
本文以两个具体例子详细剖析动态规划算法设计思想,主要参考圣经《算法导论》,加上自己的一些理解,主要是附上了一些具体实现过程,所以希望能对大家有所帮助。 #_*_ coding:utf-8 _*_ import numpy as np def MemoizedCutRodAux(p,n,r,s): i ...
分类:
其他好文 时间:
2017-04-06 19:39:13
阅读次数:
263
做了一段时间NOI,做到动态规划看了几天算法书籍。还是没有深入,学了基本的动态规划,稍有一点体会,记录到这里。 背包是这样一类问题:在限定总质量前提下,从若干质量\价格对中,取哪些能使得价格最大。 动态规划是一种思想,简单的说,动态规划思想就是充分利用对子问题的计算结果来递推父问题结果。所以,动态规 ...
分类:
其他好文 时间:
2017-01-06 17:05:24
阅读次数:
182
Floyd-Warshall算法是用于寻找加权图中非固定起止点间最短路径的经典算法,它是基于动态规划思想设计的。Floyd算法也是并行计算中常常用来作为范例进行演示的一个算法。本文将主要讨论基于MPI...
分类:
编程语言 时间:
2016-10-19 20:26:22
阅读次数:
431