http://acm.hdu.edu.cn/showproblem.php?pid=2686

和传纸条的题一个类型,起点和终点重合,其余都不重合

dp[k,x1,y1,x2,y1)=Max(dp[k-1,x1-1,y1,x2-1,y2],

dp[k-1,x1-1,y1,x2,y2-1],

dp[k-1,x1,y1-1,x2-1,y2],

dp[k-1,x1,y1-1,x2,y2-1]+map[x1][y1]+map[x2][y2];

因为x1+y1=k,所以压缩成三维

dp[k][i][j]=Max(dp[k-1][i-1][j-1],dp[k-1][i][j],dp[k-1][i-1][j],dp[k-1][i][j-1])+map[i][k-i]+map[j][k-j];

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#define MMax(a,b)a>b?a:b
using namespace std;
int dp[65][32][32];
int map[32][32];int Max(int a,int b,int c,int d)
{a=MMax(a,b);c=MMax(c,d);a=MMax(a,c);return a;
}int main()
{int n;int i,j,k;while(~scanf("%d",&n)){for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&map[i][j]);memset(dp,0,sizeof(dp));for(k=1;k<=2*n-3;k++){for(i=0;i<=k;i++)for(j=0;j<=k;j++){if(i>=n||j>=n)continue;if(i==j)continue;dp[k][i][j]=Max(dp[k-1][i-1][j-1],dp[k-1][i][j],dp[k-1][i-1][j],dp[k-1][i][j-1])+map[i][k-i]+map[j][k-j];}}dp[2*n-2][n-1][n-1]=Max(dp[2*n-3][n-1][n-2],dp[2*n-3][n-2][n-1])+map[n-1][n-1];printf("%d\n",dp[2*n-2][n-1][n-1]+map[0][0]);}return 0;
}

  

转载于:https://www.cnblogs.com/sdau10kuaile/archive/2012/03/24/2416037.html

HDU 2686 多线程DP相关推荐

  1. hdu 2686(多线程dp)

    解题思路:多线程dp,dp[i][j][k][l]表示两条线程分别到达(i,j)和(k,l)时的最大值. 注意,我们在处理的时候是不能有两点重合的,所以起点和终点是不会算在内的,最后面还要加上这两点的 ...

  2. 8786:方格取数 (多线程dp)

    [题目描述] 设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.某人从图的左上角的A 点出发,可以向下行走,也可以向右走,直到到达右下角的B点.在走 ...

  3. nyoj--61 传字条(一)(多线程dp)

    nyoj 61 题意 m∗n m*n的矩形方格,从左上角到右下角找到两条互不相交的路径(首尾两端除外),使得路径上的和最大. 题解 多线程dp,get new skill~ 定义状态: dp(k,x1 ...

  4. hdu 1520 树形dp

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 #include<cstdio> #include<cstring> # ...

  5. hdu 4035 可能性DP 成都网络游戏

    http://acm.hdu.edu.cn/showproblem.php?pid=4035 获得: 1.首先推断是不是树.事实上,所有的感觉身影,既看边数==算-1是不成立 2.有时候,我告诉孩子来 ...

  6. HDU 2836 (离散化DP+区间优化)

    Reference:http://www.cnblogs.com/wuyiqi/archive/2012/03/28/2420916.html 题目链接: http://acm.hdu.edu.cn/ ...

  7. hdu 5568(dp+大数模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5568 官方题解: #include <cstdio> #include <cstri ...

  8. hdu 5464(简单dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5464 解题思路: 由于p很小,而ai很大,所以先把ai%p,由于ai可能有负数,所以ai=(ai%p+ ...

  9. hdu 5433(bfs+dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5433 解题思路: dp[i][j][k]表示在(x,y)点,毅力为k时的最小体力.由于每个点可能会走多 ...

最新文章

  1. 二分图最大匹配 -- 匈牙利算法
  2. 调用Excel或Oracle数据,数据加载,selenium等使用实例
  3. 小程序笔记一:基础设置
  4. Python学习笔记__8章错误、调试和测试__8.1章错误处理
  5. 用 pandas + matplotlib 绘制精美的K线图
  6. SIPp web frontend(2)
  7. 计算机基础知识187,中职计算机基础 (187)(11页)-原创力文档
  8. vite方式创建vue项目
  9. mysql忘记root密码安装_MySql忘记root密码的解决方法
  10. 外卖返利系统公众号外卖cps返利小程序淘宝客小程序侠客外卖系统
  11. 简单游荣登东南快报 热门话题引争议
  12. 555定时器原理及应用(报告)
  13. 拼多多电商外部工具(浏览器插件)
  14. Excel 和Word 常用小技巧
  15. WebRTC 音视频同步分析
  16. Voxelization 三维模型体素化
  17. CCKS-2019-IPRE baseline sentence level 代码理解
  18. 在电脑端下载google play上的app,将其下载成apk
  19. WPS文档出现很多小箭头解决
  20. 苏州持续深化区块链技术在公证领域的应用

热门文章

  1. 如何通过改造休闲旅行车赚到1000万元?
  2. 老板要先想明白三件事
  3. 经销商生意平台化是趋势
  4. Hash碰撞的解决方案
  5. Java里optionsMenu.add_android创建optionsmenu的方法
  6. 游标sql server_SQL Server游标性能问题
  7. transact-sql_如何使用Transact-SQL创建,配置和删除SQL Server链接服务器
  8. JFinal上传文件时用getFile()方法报错
  9. fiddler在ios10.3系统抓包https失败原因解决
  10. ubuntu安装Pillow