----------动态规划----------
文章平均质量分 50
leoxry
天道酬勤,拼搏一个最好的自己送给未来的自己,每天开开心心敲代码就是一种幸福,不计得失,回归刚开始学习时内心的单纯
展开
-
动态规划——最大累加和
动态规划? Time Limit: 1000MS Memory Limit: 65536KB Problem Description动态规划作为《运筹学》的一个分支,被广泛的用于解决较为复杂的经济管理问题,以达到的最优抉择,获得最大经济收益为目的。也因其多变性,非常的频繁的出现在信息学竞赛的赛场上。动态规划的核心思想为不断将问题分解为子问题,一直到可以较容易的得到最优答案,再去决定其父问题的决策原创 2017-01-14 16:58:20 · 941 阅读 · 0 评论 -
G - Meeting Room Arrangement UVALive - 6606——动态规划
Think: 1知识点:动态规划 2题目分析:会议室0~10时可开会,输入最多20组开会起止时间,询问可安排的最大开会数量 3思路: 1>动态规划——线性时间规划 2>数据量最多20组开会起止时间,可暴力枚举状态选择最优解vjudge题目链接以下为Accepted代码#include <cstdio> #include <cstring> #include <algorithm>using原创 2017-07-31 21:08:04 · 475 阅读 · 0 评论 -
NCPC 2014 Problem E Opening Ceremony Problem ID: ceremony
Think: 1题目大意:现在要移除一些障碍物,有两种操作选择,一种是直接移除一个障碍物,另一种是移除所有未完全移除的障碍物的一层,求最少操作次数 2可以先按照障碍物的高度即层数进行排序,然后再通过动态规划思想和递推思想,寻找状态转移方程和临界条件,进而寻找当前最优解与前一步最优解的联系,进而求解codeforce题目链接以下为Accepted代码#include <bits/stdc++.h>原创 2017-04-26 20:54:55 · 624 阅读 · 0 评论 -
免费馅饼——动态规划
Think: 1状态转移方程: 状态a[i][j]表示在时刻i在位置j所能接到的最大馅饼数 a[i][0] += max(a[i+1][0], a[i+1][1]) a[i][j] += Max3(a[i+1][j-1], a[i+1][j], a[i+1][j+1]) a[i][10] += max(a[i+1][9], a[i+1][10])sdut题目链接 hdoj原题链接免费馅饼原创 2017-04-15 22:18:56 · 646 阅读 · 0 评论 -
动态规划之暴力枚举不断尝试
Think: 1动态规划+递归—->暴力枚举不断尝试sdut题目链接取数字问题 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 给定M×N的矩阵,其中的每个元素都是-10到10之间的整数。你的任务是从左上角(1,1)走到右下角(M,N),每一步只能够向右或者向下,并且不能够走出矩阵的范围。你所经过的方格里面的数字都必须被选原创 2017-04-15 21:35:24 · 771 阅读 · 0 评论 -
最长上升子序列——动态规划
Think: 1递推思想反向推演 递推关系1: b[i] = 1//i == 1 || Vi, max(b[i], b[j+1]) = 0; b[i] = max(b[i], b[j]+1)//j:(i-1)->1, a[j] < a[i] 临界条件:b[1] = 1; 递推关系2: b[i] = Maxb[j] + 1//j < i && a[j] < a[i]sdut题目链接最长上原创 2017-04-15 19:47:28 · 616 阅读 · 0 评论 -
最长公共子序列问题——动态规划
Think: 1递推关系: a[i][j] = 0//i == 0 || j == 0 a[i][j] = a[i-1][j-1] + 1//st1[i-1] == st2[j-1] a[i][j] = max(a[i-1][j], a[i][j-1])//st1[i-1] != st2[j-1] 2建议参考博客 3博客参考图片,以下图片来自于建议参考博客 最长公共子序列问题 Tim原创 2017-04-15 19:01:25 · 449 阅读 · 0 评论 -
递归的函数——三维数组+动态规划
Think: 1动态规划—百度百科 2动态规划——将多阶段过程转化为单阶段问题,然后逐个求解递归的函数 Time Limit: 1000MS Memory Limit: 65536KBsdut题目链接Problem Description 给定一个函数 f(a, b, c): 如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1; 如果 a > 20 或 b > 20 或 c原创 2017-04-15 17:18:37 · 1213 阅读 · 0 评论 -
数据结构实验之栈六:下一较大值(二)—栈+动态规划
think:1、栈结合动态规划,两种思想的一种动态结合。 2、hint:数据量大、限时要求高数据结构实验之栈六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KBProblem Description 对于包含n(1<=n<=100000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出原创 2017-02-02 10:01:52 · 436 阅读 · 0 评论 -
动态规划—取数字问题
取数字问题 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 给定M×N的矩阵,其中的每个元素都是-10到10之间的整数。你的任务是从左上角(1,1)走到右下角(M,N),每一步只能够向右或者向下,并且不能够走出矩阵的范围。你所经过的方格里面的数字都必须被选取,请找出一条最合适的道路,使得在路上被选取的数字之和是尽可能小的正整原创 2017-01-24 21:59:43 · 1099 阅读 · 0 评论 -
今年暑假不AC——(优化贪心+快排)
think: 1今晚终于AC道题目了…..这道题目感觉和贪心里面的区间区间覆盖问题类似,只不过感觉这道题目明显需要优化子问题,因为有可能出现像【0, 7】,【1, 3】, 【3, 6】这样的区间,不能因为先出现一个条件判断了,之前自己做的区间覆盖问题好像没有想的这么深,看来之前自己区间覆盖问题的AC有点水…,不过现在想明白了也很幸运 2回归题目,题目可以建立两个结构体数组,存储各个节目开始的时间原创 2017-02-18 21:17:56 · 686 阅读 · 0 评论 -
动态规划—最长公共子序列问题
最长公共子序列问题 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 给定两个序列X= Input 输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z)),表示序列X和Y。 Output 每组输出一行,表示所求得的最长公共子序列的长度,若不存在公共子序列,则输出0。原创 2017-01-16 20:16:46 · 493 阅读 · 0 评论 -
动态规划—数字三角形问题
数字三角形问题 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。 Input 输入数据的第1行是数原创 2017-01-16 09:33:26 · 550 阅读 · 0 评论 -
【记忆化搜索】爬楼梯 OpenJ_Bailian - 4017
Think: 1知识点:记忆化搜索 2题意:爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。 3知识点思考: (1):记忆化搜索即在搜索的过程中对会重复求解的部分进行记录,目的在于下次遇到这部分的时候直接使用所记录的解。 (2):记忆化搜索求解的过程按原创 2018-01-18 20:04:46 · 492 阅读 · 0 评论