动态规划DP入门
百度百科↓
动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。1957年出版了他的名著《Dynamic Programming》,这是该领域的第一本著作。
DP例题 数字三角形
不放题目了就
转移方程:
DP[i][j]=Max(DP[i-][j],DP[i-][j-])+a[i][j] ans=Max(DP[n][..n])
#include <bits/stdc++.h>
#define Max(a,b) a>b?a:b
using namespace std;
typedef long long LL;
inline LL read() { LL x=; int f=; char ch=getchar();
while(!isdigit(ch)) { if (ch=='-') f=-; ch=getchar();}
while(isdigit(ch)) x=(x<<)+(x<<)+(ch^),ch=getchar(); return x*f;
}
int n;
const int N=<<;
LL a[N][N];
LL DP[N][N];
signed main(){
n=read();
for(register int i=;i<=n;i++)
for(register int j=;j<=i;j++) a[i][j]=read();
for(register int i=;i<=n;i++)
for(register int j=;j<=i;j++) DP[i][j]=a[i][j],DP[i][j]+=Max(DP[i-][j],DP[i-][j-]);
LL ans=-;
for(register int i=;i<=n;i++) ans=Max(ans,DP[n][i]);
cout << ans << endl ;
return ;
}
其他的题目见我的博客
动态规划DP入门的更多相关文章
- 【专章】dp入门
		
动态规划(简称dp),可以说是各种程序设计中遇到的第一个坎吧,这篇博文是我对dp的一点点理解,希望可以帮助更多人dp入门. ***实践是检验真理的唯一标准,看再多文章不如自己动手做几道!!!*** 先 ...
 - 【学习笔记】dp入门
		
知识点 动态规划(简称dp),可以说是各种程序设计中遇到的第一个坎吧,这篇博文是我对dp的一点点理解,希望可以帮助更多人dp入门. 先看看这段话 动态规划(dynamic programming) ...
 - 【DP入门到入土】
		
DP例题较多,可以根据自己需求食用~ update:下翻有状压DP入门讲解,也只有讲解了(逃~ DP的实质,就是状态的枚举. 一般用DP解决的问题,都是求计数或最优问题,所以这类问题,我们也可以用搜索 ...
 - poj 3254   状压dp入门题
		
1.poj 3254 Corn Fields 状态压缩dp入门题 2.总结:二进制实在巧妙,以前从来没想过可以这样用. 题意:n行m列,1表示肥沃,0表示贫瘠,把牛放在肥沃处,要求所有牛不能相 ...
 - xbz分组题B   吉利数字      数位dp入门
		
B吉利数字时限:1s [题目描述]算卦大湿biboyouyun最近得出一个神奇的结论,如果一个数字,它的各个数位相加能够被10整除,则称它为吉利数.现在叫你计算某个区间内有多少个吉利数字. [输入]第 ...
 - 【dp入门题】【跟着14练dp吧...囧】
		
A HDU_2048 数塔 dp入门题——数塔问题:求路径的最大和: 状态方程: dp[i][j] = max(dp[i+1][j], dp[i+1][j+1])+a[i][j];dp[n][j] = ...
 - 数位dp入门 hdu2089 不要62
		
数位dp入门 hdu2089 不要62 题意: 给定一个区间[n,m] (0< n ≤ m<1000000),找出不含4和'62'的数的个数 (ps:开始以为直接暴力可以..貌似可以,但是 ...
 - POJ 2342 树形DP入门题
		
有一个大学的庆典晚会,想邀请一些在大学任职的人来參加,每一个人有自己的搞笑值,可是如今遇到一个问题就是假设两个人之间有直接的上下级关系,那么他们中仅仅能有一个来參加,求请来一部分人之后,搞笑值的最大是 ...
 - hdu3555 Bomb 数位DP入门
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 简单的数位DP入门题目 思路和hdu2089基本一样 直接贴代码了,代码里有详细的注释 代码: ...
 
随机推荐
- Linux学习笔记记录(五)
 - 2.js原型的基本概念
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - 洛谷 1541 NOIp2010提高组 乌龟棋
			
[题解] 很容易想到这是一个DP,f[i][j][k][l]表示4种卡片分别用了多少张,那么转移方程就是f[i][j][k][l]=Max(f[i-1][j][k][l],f[i][j-1][k][l ...
 - java属性的默认值
			
String 默认null Boolean默认false int默认0 double默认0.0 类中使用自定义类定义属性默认值:null 在定义属性的时候可以指定默认值
 - App后台开发运维和架构实践学习总结(5)——App产品从需求到研发到开发到上线到产品迭代全过程
			
前言 如果没有做过开发,研发过产品的人,很难体会做产品的艰难,刚进公司的人,一般充当的是程序开发,我这里说的是开发,它与研发是有区别的. 一个需求下来,如果不能很好地理解产品需求,如果不能很好的驾驭需 ...
 - Python - 对多继承以及super的一些了解
			
Python支持多继承,与C++一样都会出现一种问题:子类继承的多个父类又继承了同一个父类,这时就有可能会出现父类构造方法被调用多次的情况.关于这个问题,我找了一些资料,虽然没有亲自全部验证,这里我总 ...
 - jQuery中事情的动态绑定 (转)
			
小弟初来乍到,还弄不清楚如何添加链接 这是我转别人的,原文地址:http://blog.csdn.net/zhuyong0722/article/details/8590815#comments ...
 - hdu_1024_糖果大战_201404021640
			
糖果大战 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
 - Memcached启动提示:cann't run as root without the -u switch
			
如果没有带 -u root 的话就会报: can't run as root without the -u switch 解决方法: 带-u root就行了. 出现的原因: 1.可能在root用户下启 ...
 - 关于jQuery的append()和prepend()方法的小技巧
			
最近工作上有个需求是要求一个自动向上滚动的列表,表有很多行,但只显示一行,每次滚动一行.很简单的一个功能,代码如下 <div class="scroll-area"> ...