HDU2571:命运(简单dp)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2571
没什么好说的,不过要处理好边界。
代码如下:
#include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <queue> #include <algorithm> #include <math.h> typedef __int64 ll; using namespace std; int w[22][1010],dp[22][1020]; int n,m; int main() {int T;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);for(int i=1; i<=n; i++){for(int j=1; j<=m; j++){scanf("%d",&w[i][j]);}}memset(dp,0,sizeof(dp));dp[1][1]=w[1][1];for(int i=2;i<=m;i++){dp[1][i]=dp[1][i-1]+w[1][i];for(int j=1;j<i;j++){if(i%j==0) dp[1][i]=max(dp[1][i],dp[1][j]+w[1][i]);}}for(int i=2;i<=n;i++){dp[i][1]=dp[i-1][1]+w[i][1];}for(int i=2; i<=n; i++){for(int j=2; j<=m; j++){dp[i][j]=dp[i-1][j]+w[i][j];dp[i][j]=max(dp[i][j],dp[i][j-1]+w[i][j]);for(int k=1; k<j; k++){if(j%k==0) dp[i][j]=max(dp[i][j],dp[i][k]+w[i][j]);}}}printf("%d\n",dp[n][m]);}return 0; }
HDU2571:命运(简单dp)相关推荐
- HDU2571 命运(DP)
Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个 ...
- HDU2571 命运【动态规划DP】
命运 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
- Codeforces 41D Pawn 简单dp
题目链接:点击打开链接 给定n*m 的矩阵 常数k 以下一个n*m的矩阵,每一个位置由 0-9的一个整数表示 问: 从最后一行開始向上走到第一行使得路径上的和 % (k+1) == 0 每一个格子仅仅 ...
- hdu2067 简单dp或者记忆化搜索
题意: 小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- POJ1088:滑雪(简单dp)
题目链接: http://poj.org/problem?id=1088 题目要求: 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小.求可以滑落的最长长度. 题目解析: 首先要先排一 ...
- 第三讲 数学与简单DP【完结】
目录 1205. 买不到的数目 [数学结论题] 1211. 蚂蚁感冒 [模拟 / 推理] 1216. 饮料换购 [简单 / 模拟] 2. 01背包问题 [板子题] 1015. 摘花生 [简单DP] 8 ...
- hdu 2881(简单dp)
题意:n*n的矩阵,里面有m个格子是有任务要去完成的,t,x,y表示要在第t秒到达(x,y)的格子完成任务,问你最多可以完成多少 解题思路:简单dp,将时间排个序后就是LIS #include< ...
- P1005 矩阵取数游戏(__int128模板/简单dp)
转跳P1005 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n \times mn×m 的矩阵,矩阵中的每个元素 a_{i,j}a i,j 均为非负整数.游戏规则如下: 每次取数时 ...
- 最少拦截系统,简单dp,(学长说这是贪心?!。。。。。。也是醉了)
description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天, ...
- HDU 1158【简单dp】
题意:给你一个项目,需要几个月来完成买,同时也给你每个月最少需要的工人数.并且告诉你hiring,firing每个工人的钱数,以及每个月应付每个工人的工资.求项目完成时最小花费. 这是个简单dp,思路 ...
最新文章
- 华菱重卡仪表指示说明_重卡档位多,换挡不利索,选个自动档的车它不香吗?...
- JS - Promise使用随笔
- java方法的参数_Java方法参数
- Microsoft Office Backstage(第 1 部分 – 幕后故事)
- 51nod1832(二叉树/高精度模板+dfs)
- 同步锁 php,python线程中同步锁详解
- 异动分析技术解决方案—异动归因之指标拆解
- 不等式约束的序列二次规划(SQP)
- TensorFlow tf.keras.losses.CategoricalCrossentropy
- Android之GPU过度绘制与图形渲染优化
- C++全局函数与成员函数的区别
- 新人如何使用git加入到团队开发中
- 看图说话,FastJson 并没有那么流行!
- [bzoj2299][HAOI2011]向量
- tukey 窗口_语音信号滤波去噪——使用TUKEYWIN窗设计的FIR滤波器.
- 还在为挖不到漏洞烦恼?还在为如何才能升职加薪困惑?听听徐老师怎么说.........
- Longest Continuous 1
- JavaScript字符串(Date和Math对象)的相关操作及实例
- 受用一生的高效 PyCharm 使用技巧 !
- 关于应用程序无法正常启动0xc000007b的解决方案