Dp 入门 ( nefu 17 nefu 20 )
来源:互联网 发布:python celery mq 编辑:程序博客网 时间:2024/06/06 03:14
动态规划法利用问题的最优性原理,以自底向上的方式从子问题的最优解逐步构造出整个问题的最优解。
DP 就是要避免重复计算!
其实只要数据不重复,递推和递归就算DP 了!
两道简单的 D p 入门 题 。
nefu 17 代码 :
nefu 20 代码:
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <iostream>using namespace std;int max(int a,int b){ if(a>b) return a; else return b;}int main(){ int data[102][102];//输入放数据 int inp[102][102];// 放数字和 int n; while(cin>>n) { memset(inp,0,sizeof(inp)); memset(data,0,sizeof(data)); for(int i=1;i<=n;i++) for(int j=1;j<=i;j++) { cin>>data[i][j]; if (i==1) inp[i][j]=data[i][j]; else inp[i][j]=max(inp[i-1][j],inp[i-1][j-1])+data[i][j]; } int tmp=0; for(int k=1;k<=n;k++) if (tmp<=inp[n][k]) tmp=inp[n][k]; cout<<tmp<<endl; } return 0;}
nefu 20 代码:
#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int a[16][16]; int i,j; for(i=0;i<16;i++) { a[i][0]=1; a[0][i]=1; } for(i=1;i<16;i++) for(j=1;j<16;j++) { a[i][j]=a[i-1][j]+a[i][j-1]; } int n; while(scanf("%d",&n),n) { printf("%d\n",a[n][n]); } return 0;}
- Dp 入门 ( nefu 17 nefu 20 )
- NEFU 17 数字三角形(简单dp)
- NEFU 655 图dp
- dp入门---最长上升子序列--nefu 21
- NEFU 655 Trip(DP)
- NEFU 642 Monkey(DP)
- 【NEFU】17-数字三角形
- NEFU 20 穿过街道
- NEFU 155 超弦(插头DP)
- NEFU 641 素数树(树形DP)
- NEFU 642 monkey(DP+优化)
- NEFU 654 Magic Tree(DP)
- nefu 661 Clockwise 水DP+略几何
- NEFU English Game 字符串 dp 字典树
- nefu 680(字典树DP)
- NEFU 696 Dart game 背包dp
- NEFU 698 Post office 大概是dp?
- NEFU OJ 205 prim算法入门
- Asp.Net 运行原理,个人拙见。
- 在XAMPP里建立简单的数据库
- mysql乱码修改my.ini方法不起作用
- 关于XML的解析
- weblogic配置小总结
- Dp 入门 ( nefu 17 nefu 20 )
- 【thinkphp3.x】thinkphp3.x中C方法获取或设置配置参数的值
- 点画线模式实例
- 中国人不会玩是环境逼迫??
- 国庆AC游之流水帐
- Linux互斥锁的使用代码实现
- 堆排序
- STL应用之随机化全排列
- 街道最短路径