wiki1169-传纸条(dp)
http://wikioi.com/problem/1169/
四维数组和三维数组;
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<bitset>
#include<iomanip> using namespace std;
int num[ 55 ][ 55 ] ;
int dp[ 55 ][ 55 ][ 55 ][ 55 ] ; int main()
{
int n , m ;
while( scanf( "%d%d" , &n , &m ) != EOF )
{
memset( dp , 0 , sizeof( dp ) ) ;
for( int i = 1 ; i <= n ; ++i )
for( int j = 1 ; j <= m ; ++j )
scanf( "%d" , &num[ i ][ j ] ) ;
for( int i1 = 1 ; i1 <= n ; ++i1 )
for( int j1 = 1 ; j1 <= m ; ++j1 )
for( int i2 = 1 ; i2 <= n ; ++i2 )
for( int j2 = 1 ; j2 <= m ; ++j2 )
{
int temp = max( max( dp[ i1 - 1 ][ j1 ][ i2 -1 ][ j2 ] , dp[ i1 - 1][ j1 ][ i2 ][ j2 - 1] ) , max( dp[ i1 ][ j1 -1 ][ i2 -1 ][ j2 ] , dp[ i1 ][ j1 - 1 ][ i2 ][ j2 - 1 ])) ;
if( i1 == i2 && j1 == j2 )
dp[ i1 ][ j1 ][ i2 ][ j2 ] = num[ i1 ][ j1 ] + temp ;
else
dp[ i1 ][ j1 ][ i2 ][ j2 ] = num[ i1 ][ j1 ] + num[ i2 ][ j2 ] + temp ;
}
printf( "%d\n" , dp[ n ][ m ][ n ][ m ] ) ;
}
return 0 ;
}
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<bitset>
#include<iomanip> using namespace std; int m , n , mapp[ 51 ][ 51 ] , f[ 101 ][ 51 ][ 51 ] ; void dp()
{
int i , j , k , s , t , Max = 0 ;
for( i = 1 ; i <= m + n - 1 ; ++i )
{
t = ( i > m ) ? m : i ;
s = ( i > n ) ? n : i ;
for( j = i - s + 1 ; j <= t ; ++j )
{
for( k = i - s + 1 ; k <= t ; ++k )
if( j != k || i == m + n - 1 )
{
Max = 0 ;
if( Max < f[ i - 1 ][ j ][ k ] )
Max = f[ i - 1 ][ j ][ k ] ;
if( Max < f[ i - 1 ][ j - 1 ][ k ] )
Max = f[ i - 1 ][ j - 1 ][ k ] ;
if( Max < f[ i - 1 ][ j - 1 ][ k - 1 ] )
Max = f[ i - 1 ][ j - 1 ][ k - 1 ] ;
if( Max < f[ i - 1 ][ j ][ k - 1 ] )
Max = f[ i - 1 ][ j ][ k - 1] ;
f[ i ][ j ][ k ] = Max + mapp[ j ][ i - j + 1 ] + mapp[ k ][ i - k + 1 ] ;
}
} }
}
int main()
{
while( cin >> m >> n )
{
int i , j ;
for( i = 1 ; i <= m ; ++i )
for( j = 1 ; j <= n ; ++j )
cin >> mapp[ i ][ j ] ;
dp() ;
cout << f[ m + n - 1 ][ m ][ m ] << endl ;
}
return 0 ;
}
wiki1169-传纸条(dp)的更多相关文章
- NOIP2008传纸条[DP]
题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是 ...
- CodeVS1169 传纸条 [DP补完计划]
题目传送门 题目描述 Description 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端, ...
- P1011 传纸条//dp优化改进状态表示
P1011 传纸条 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2008复赛提高组第三题 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不 ...
- P1006 传纸条 /// DP+滚动数组
题目大意: https://www.luogu.org/problemnew/show/P1006 题解 不难想到 求从起点到终点的两条不同的路 因为只能向右或向下走 所以纸条1和2不可能同时位于同一 ...
- tyvj1011 - 传纸条 ——DP
题目链接:https://www.tyvj.cn/Problem_Show.aspx?id=1011 状态转移方程: f[k,x1,x2] = max(f[k-1,x1,x2],f[k-1,x1-1, ...
- TYVJ 1011 NOIP 2008&&NOIP 2000 传纸条&&方格取数 Label:多线程dp
做题记录:2016-08-15 15:47:07 背景 NOIP2008复赛提高组第三题 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行 ...
- 传纸条(一)(双线程dp)
传纸条(一) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行 ...
- nyoj61 传纸条(一) dp
思路:两人一个从左上角出发只能向右和向下,另一人从右下角出发只能向左和向上,可以看做两人都是从右下角出发,且只能向左和向上传纸条,并且两条路径不会相交,因为一个人只会传一次,那么随便画一个图就能知道两 ...
- P1006 传纸条 (方格取数dp)
题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个mm行nn列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运 ...
- 传纸条---(dp)
题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个mmm行nnn列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了. ...
随机推荐
- 【C#学习笔记】自我复制
using System; using System.IO; using System.Diagnostics; namespace ConsoleApplication { class Progra ...
- HDU 1041 Computer Transformation
这道题目的意思是:一开始有一个数字 1 ,在接下来的时间中,计算机会按照如下规则进行扩展: 0 –> 1 0 1 –> 0 1 ...
- Andorid-如何为你的Android应用缩放图片
很难为你的应用程序得到正确的图像缩放吗?是你的图片过大,造成内存问题?还是图片不正确缩放造成不良用户体验的结果?为了寻求一个好的解决方案,我们咨询了Andreas Agvard(索尼爱立信软件部门), ...
- 通过js检测到iframe,使父窗口重定向到index -----------???----------------------
通过js检测到iframe,使父窗口重定向到index -----------???---------------------- 如果本身已将在iframe中,那么重定向的页面应该直接添加到父级ifr ...
- Inxi:获取Linux系统和硬件信息的神器
导读 在这篇文章里,我们将看到如何使用inxi来获取这些详情信息.在论坛技术支持中,它可以作为调试工具,迅速确定用户的系统配置和硬件信息. Inxi是一个可以获取完整的系统和硬件详情信息的命令行工具, ...
- Delphi读取Word
Delphi读取Word现在关于往Word中写入数据的方法比较多,现在专门开个贴子,希望大家把自己读取Word内容的心得体会说一下,包括读取word文档中,有几个段落,如何读取第几个段落,读取有拼音的 ...
- SQL 语句记录
1.创建一个table @"create table rockTB(myId integer primary key autoincrement not null, time varchar ...
- 【剑指offer 面试题23】从上往下打印二叉树
思路: 没啥好说的,BFS. C++: #include <iostream> #include <queue> using namespace std; struct Tre ...
- Selenium2Library系列 keywords 之 _SelectElementKeywords 之 _get_select_list_options_selected(self, locator)
def _get_select_list_options_selected(self, locator): select = self._get_select_list(locator) # TODO ...
- 再谈Jquery Ajax方法传递到action(转)
之前写过一篇文章Jquery Ajax方法传值到action,本文是对该文的补充. 假设 controller中的方法是如下: public ActionResult ReadPerson(Perso ...