![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 85
林下的码路
华中科技大学研究生,热爱算法,喜欢编程。
展开
-
动态规划解决最大子序列和系列问题总结
一、一维最大连续子序列问题例题:KY141 最大连续子序列题目链接:https://www.nowcoder.com/practice/afe7c043f0644f60af98a0fba61af8e7?tpId=40&&tqId=21472https://www.nowcoder.com/practice/afe7c043f0644f60af98a0fba61af8e7?tpId=40&&tqId=21472描述给定K个整数的序列{ N1, N2, .....原创 2022-05-22 20:14:40 · 786 阅读 · 0 评论 -
矩阵取数游戏
这是一道NOIp07年的原题,题目本身并不难。题目看上去很熟悉,第一次看完题目后往贪心的方面去想的,设计了两种贪心策略:1、每次从两端选取最小的数字;2、从后向前倒推,使最后一次取到的数字最大。两种贪心是不同的,而且都是错的,竞赛原题中给的样例数据都过不去。但是如果不会DP的话,感觉上第二种贪心更易导致最优解(只是感觉)。动态规划:分析出实际上行与行之间是互不影响的,就是说对每行的转载 2014-08-06 22:13:04 · 1220 阅读 · 2 评论 -
能量项链
能量项链Time Limit: 1000 MSMemory Limit: 32768 KTotal Submit: 55(20 users)Total Accepted: 22(19 users)Rating: Special Judge: NoDescription在Mar转载 2014-08-06 21:02:03 · 1109 阅读 · 0 评论 -
石子合并问题(dp)
描述:在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。 开始以为通过贪心算法可能很快解决问题,可是是行不通的。 首先我们可以把这么转载 2014-09-04 16:40:32 · 986 阅读 · 0 评论 -
经典的导弹拦截问题
题目:http://wikioi.com/problem/1044/ 题意:一种导弹拦截系统的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度,计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导转载 2014-08-06 10:15:27 · 1572 阅读 · 0 评论 -
Doing Homework(数塔型状态DP)
Problem Link :http://acm.hdu.edu.cn/showproblem.php?pid=1074原创 2014-08-20 10:50:56 · 699 阅读 · 0 评论 -
免费馅饼
免费馅饼Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25593 Accepted Submission(s): 8722Problem Description都说天上不会掉馅饼,但有一天gamebo原创 2014-08-14 22:53:32 · 2649 阅读 · 0 评论 -
传纸条
题目描述 Description小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只原创 2014-08-08 16:57:42 · 885 阅读 · 0 评论 -
乘积最大
题目链接:http://wikioi.com/problem/1017/原创 2014-08-08 22:52:30 · 896 阅读 · 0 评论 -
FatMouse's Speed
Problem Link:http://acm.hdu.edu.cn/showproblem.php?pid=1160Original Pro原创 2014-08-20 19:47:50 · 3025 阅读 · 0 评论 -
数的划分
题目描述 Description将整数n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序)。例如:n=7,k=3,下面三种划分方案被认为是相同的。1 1 51 5 15 1 1问有多少种不同的分法。输入描述 Input Description输入:n,k (6输出描述 Output Descr转载 2014-08-09 12:03:08 · 911 阅读 · 0 评论 -
统计单词个数
题目描述 Description给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份(1单词在给出的一个不超过6个单词的字典中。要求输出最大的个数。输入描述 Input Description第一行为一个正整数(0每组的第一行有二个正整数(p,k)p表示转载 2014-08-09 22:21:46 · 1169 阅读 · 0 评论 -
最长连续子序列和的线性算法及其他算法
问题描述: 给定整数A1, A2,……AN (可能有负数),求I到j的最大值。例如: -2, 11, -4, 13, -5, -2时答案为20 对于这个问题的算法有很多,当然我要说的是使用“动态规划”算法实现的程序,对于这个算法,我可以说很多人都曾经想到,但是没有想全(因为我就是这样的)。还有一点对于这个问题的动态规划的解法是非常经典的,她的时间复转载 2014-08-15 11:48:57 · 730 阅读 · 0 评论 -
Monkey and Banana
题目链接:Monkey and BananaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7552 Accepted Submission(s): 3892Problem Desc原创 2014-08-15 18:00:34 · 627 阅读 · 0 评论 -
Humble Numbers(滚动数组求解)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1058yuan原创 2014-08-15 13:44:20 · 1134 阅读 · 0 评论 -
龟兔赛跑
timu原题:龟兔赛跑Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11154 Accepted Submission(s): 4196Problem Description据说在很久原创 2014-08-15 20:58:31 · 964 阅读 · 0 评论 -
搬寝室
题目链接:原题:搬寝室Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17479 Accepted Submission(s): 5921Problem Description搬转载 2014-08-15 23:26:50 · 754 阅读 · 0 评论 -
最短路问题(广搜:迪杰斯特拉算法)
最短路径问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13628 Accepted Submission(s): 4173Problem Description给你n个点,m条无向边,每条边都有长原创 2014-08-17 18:34:17 · 1131 阅读 · 0 评论 -
Hatsune Miku(较难dp)
Link:Hatsune MikuTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0Problem Descr转载 2014-10-22 19:22:05 · 916 阅读 · 0 评论 -
Anniversary party(树形dp)
// 题意:一棵树每个节点有一个权值,保证父亲节点与孩子节点不能同时出现,求出现的节点最大权值。// 基础树形dp。#include using namespace std ;struct Tree //用孩子兄弟表示法存储{ int father ; int child ; int brother ;转载 2014-10-07 21:02:39 · 730 阅读 · 0 评论 -
2013年福建省赛ACM题目
Link:http://acm.fzu.edu.cn/problem.php?pid=2146原创 2014-11-15 11:28:43 · 1789 阅读 · 0 评论 -
Function Run Fun(递归转递推)
Link:http://acm.hdu.edu.cn/showproblem.php?pid=1579Problem:Function Run FunTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2223 A原创 2014-11-01 10:56:44 · 856 阅读 · 0 评论 -
背包问题
0-1背包:Link:http://acm.hdu.edu.cn/showproblem.php?pid=2602Bone CollectorTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 32017 Acce原创 2014-11-25 10:46:33 · 629 阅读 · 0 评论 -
“高教社杯”第三届福建省大学生程序设计竞赛
Link: 点击打开链接Problem 2102 Solve equationAccept: 598 Submit: 1324Time Limit: 1000 mSec Memory Limit : 32768 KB Problem DescriptionYou are given two positive integers A an原创 2014-11-19 10:49:10 · 1318 阅读 · 0 评论 -
跳台阶问题(变态跳台阶)
程序员面试100题之二:跳台阶问题(变态跳台阶)分类: 数据结构 C/C++2011-08-14 21:22 3983人阅读 评论(1) 收藏 举报面试算法n2题目1:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。分析:这道题最近经常出现,包括MicroStrategy等比较重视算法的公司都曾先后选用过个这道题转载 2014-11-05 21:41:46 · 718 阅读 · 0 评论 -
最长上升子序列nlogn算法
Link:http://acm.hdu.edu.cn/showproblem.php?pid=1950Bridging signalsTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 716 Accepted Sub转载 2014-11-28 23:03:17 · 652 阅读 · 0 评论 -
最小m段和(DP)
第四届程序设计大赛 最小m段和Time Limit:1000MS Memory Limit:65536KTotal Submit:48 Accepted:17Description给定 n 个整数组成的序列,现在要求将序列分割为 m 段,每段子序列中的数在原序列中连续排列。如何分割才能使这m段子序列的和的最大值达到最小? 编程计算该序列的最优m 段分割,使m 段子序列的和的最原创 2014-12-01 21:50:54 · 2079 阅读 · 0 评论 -
Labyrinth(枚举+DP)
LabyrinthTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 351 Accepted Submission(s): 188Problem Description度度熊是一只喜欢探险的熊,一次偶然落原创 2014-12-17 23:29:11 · 642 阅读 · 0 评论 -
AOJ 0121: Seven Puzzle (BFS DP STL 逆向推理)
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0121题意:7数码问题。在2×4的棋盘上,摆有7个棋子,每个棋子上标有1至7的某一数字,不同棋子上标的数字不相同。棋盘上还有一个空格(用0表示),与空格相邻(上下左右)的棋子可以移到空格中,该棋子原先位置成为空格。给出一个初始状态(保证可以转移到最终状态),找出一种从转载 2014-12-18 18:31:15 · 1228 阅读 · 0 评论 -
p1044 p1076 p1079 p1084 数字三角形系列 小结
FIRST一、本例:示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。 每一步可沿左斜线向下或右斜线向下走; 1 三角形中的数字为整数573 88 1 02 7 4 44 5 2 6 5二、分析:不解释,最基本动归。f[i][j]=f[i][j]+max(转载 2014-12-27 16:19:10 · 981 阅读 · 0 评论 -
华东交通大学2013年ACM“双基”程序设计竞赛
华东交通大学2013年ACM“双基”程序设计竞赛 最终排名:http://acm.hdu.edu.cn/diy/contest_ranklist.php?cid=20955&page=1华东交通大学2013年ACM“双基”程序设计竞赛赛后重挂(对题目感兴趣的同学可以去该网址重新提交代码进行测试):http://acm.hdu.edu.cn/diy/contest_show.php?cid=转载 2014-12-27 20:09:07 · 1664 阅读 · 0 评论 -
数字和最大(读入外挂模板+DP或滚动数组)
Problem CTime Limit:1000MS Memory Limit:65536KTotal Submit:58 Accepted:13Description一日,code4101捡到一本《读入外挂》的武林秘籍。书上说,用getchar一个字符一个字符来手动实现整数的读入,比scanf直接读取一个整数要快上好多倍。 code4101怀疑有没有这么神奇,就想用读入外挂原创 2014-12-13 14:39:41 · 1312 阅读 · 0 评论 -
最短路径—Dijkstra算法和Floyd算法
最短路径—Dijkstra算法和Floyd算法Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不转载 2015-02-25 16:32:32 · 723 阅读 · 0 评论 -
UVa 10118 Free Candies(记忆化搜索经典)
Link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=13&problem=1059&mosmsg=Submission+received+with+ID+15086449Little Bob is playing a game.转载 2015-03-05 21:13:50 · 984 阅读 · 0 评论 -
不要62(数位DP)
Link:http://acm.hdu.edu.cn/showproblem.php?pid=2089不要62Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 22862 Accepted Submissio原创 2015-03-05 15:13:02 · 1143 阅读 · 0 评论 -
算法训练 K好数 (动态规划)
Link:http://lx.lanqiao.org/problem.page?gpid=T13问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000原创 2015-03-20 23:22:33 · 852 阅读 · 0 评论 -
算法训练 结点选择 (树形DP)
Link:http://lx.lanqiao.org/problem.page?gpid=T14问题描述有一棵 n 个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的点的权值和最大是多少?输入格式第一行包含一个整数 n 。接下来的一行包含 n 个正整数,第 i 个正整数原创 2015-03-20 22:19:37 · 852 阅读 · 0 评论 -
Cash Machine(多重背包)
Link:http://poj.org/problem?id=1276Cash MachineTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 28815 Accepted: 10303DescriptionA Bank原创 2015-03-17 17:29:51 · 936 阅读 · 0 评论 -
历届试题 买不到的数目 (数论+找规律或DP)
Link:http://lx.lanqiao.org/problem.page?gpid=T31问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是原创 2015-03-21 20:36:16 · 1149 阅读 · 0 评论 -
#1043 : 完全背包
Link:http://hihocoder.com/problemset/problem/1043#1043 : 完全背包时间限制:20000ms单点时限:1000ms内存限制:256MB描述且说之前的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时刻了!等等,这段故原创 2015-03-12 21:26:31 · 622 阅读 · 0 评论