hdu 2571 命运(递推,请小心)
//不能广搜,会超内存
//可以用dp思想模拟
//map 后来保存的是 保存由前面推来的最大的幸运总值的点
//下标从1开始,不然倍数会有问题
//AC 代码:
//不能广搜,会超内存
//可以用dp思想模拟
//map 后来保存的是 保存由前面推来的最大的幸运总值的点
//下标从1开始,不然倍数会有问题
//又错了那么多次。。。
//重写。。。
//求过!!! #include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int t,n,m,i,j,k,map[][];
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m); memset(map,-,sizeof(map)); for(i=;i<=n;i++)
{
for(j=;j<=m;j++)
{
scanf("%d",&map[i][j]);
}
} for(i=;i<=n;i++)
{
for(j=;j<=m;j++)
{
int maxx=-;
for(k=;k<=m;k++)
{
if(j%k==)
{
maxx=maxx>map[i][j/k]? maxx:map[i][j/k];
}
}
if(maxx<map[i-][j])maxx=map[i-][j];
if(maxx<map[i][j-])maxx=map[i][j-];
if(!(i==&&j==))
map[i][j]+=maxx;
}
} printf("%d\n",map[n][m]);
} return ;
}
//模拟时最好不要分开,因为我分开写错了——求高人指点为什么我分开写错掉了,明明思路是一样的啊
//错掉的代码:
//不能广搜,会超内存
//可以用dp思想模拟
//temp 保存由前面推来的最大的幸运总值的点 #include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
using namespace std;
int main()
{
int t,n,m,i,j,k,map[][];
int temp[][];
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
//一切要从1开始!!否则倍数有问题!!
for(i=;i<=n;i++)
{
for(j=;j<=m;j++)
{
scanf("%d",&map[i][j]);
}
} //没有初始化?
memset(temp,-,sizeof(temp)); temp[][]=map[][];
//(x,y+1)
for(j=;j<=m;j++)
temp[][j]=map[][j]+temp[][j-];
//(x+1,y)
for(i=;i<=n;i++)
temp[i][]=map[i][]+temp[i-][];
//(x,y*k)
for(j=;j<=m;j++)
{
for(k=;k<=m;k++)
{
if(j%k==)
{
temp[][j]=temp[][j]>(map[][j]+temp[][j/k])? temp[][j]:(map[][j]+temp[][j/k]);
}
}
} for(i=;i<=n;i++)
{
for(j=;j<=m;j++)
{
//(x,y+1)
temp[i][j]=temp[i][j]>(map[i][j]+temp[i][j-])? temp[i][j]:(map[i][j]+temp[i][j-]);
//(x,y*k)
for(k=;k<=m;k++)
{
if(j%k==)
{
temp[i][j]=temp[i][j]>(map[i][j]+temp[i][j/k])? temp[i][j]:(map[i][j]+temp[i][j/k]);
}
}
//(x+1,y)
temp[i][j]=temp[i][j]>(map[i][j]+temp[i-][j])? temp[i][j]:(map[i][j]+temp[i-][j]);
}
}
printf("%d\n",temp[n][m]);
} return ;
}
为什么这样分开写错呢
hdu 2571 命运(递推,请小心)的更多相关文章
- HDU 2571 命运 (DP)
命运 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Pr ...
- HDU 4747 Mex 递推/线段树
题目链接: acm.hdu.edu.cn/showproblem.php?pid=4747 Mex Time Limit: 15000/5000 MS (Java/Others)Memory Limi ...
- hdu 1249 三角形 (递推)
三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- 致初学者(四):HDU 2044~2050 递推专项习题解
所谓递推,是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果.其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简后确定.关于递推的知识可以参阅本博客中随笔“递推 ...
- HDU 2604 Queuing(递推+矩阵)
Queuing [题目链接]Queuing [题目类型]递推+矩阵 &题解: 这题想是早就想出来了,就坑在初始化那块,只把要用的初始化了没有把其他的赋值为0,调了3,4个小时 = = 本题是可 ...
- HDU - 2604 Queuing(递推式+矩阵快速幂)
Queuing Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- hdu 1723 DP/递推
题意:有一队人(人数 ≥ 1),开头一个人要将消息传到末尾一个人那里,规定每次最多可以向后传n个人,问共有多少种传达方式. 这道题我刚拿到手没有想过 DP ,我觉得这样传消息其实很像 Fibonacc ...
- [hdu 2604] Queuing 递推 矩阵快速幂
Problem Description Queues and Priority Queues are data structures which are known to most computer ...
- HDU 5366 dp 递推
The mook jong Accepts: 506 Submissions: 1281 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65 ...
随机推荐
- java-servlet-jsp
=========================servletjavax.servlet javax.servlet.http javax.annotation javax.ser ...
- WPF工作笔记:本地化支持、主进程通知、两种最常用异步编程方式
1.本地化支持 (1)重写控件默认的依赖属性LanguageProperty FrameworkElement.LanguageProperty.OverrideMetadata( typeof(Fr ...
- .NET开源工作流RoadFlow-流程设计-流程属性设置
打开流程设计器点击新建流程后会弹出新流程属性设置框,属性设置包括基本信息,数据连接和标识字段三项设置. 1.基本信息 流程ID:系统自动给每个流程分配的一个唯一ID. 流程名称:给您的新流程取一个名称 ...
- Android--WebView显示Html,让其中的图片适应屏幕宽度
//设置 防止图片太大超出屏幕 tv_web_danGe.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COL ...
- 使用ViewSwitcher和ViewFlipper在不同布局中切换
xml布局: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:androi ...
- Web开发者和设计师必须要知道的 iOS 8 十个变化
原文出处: mobilexweb 译文出处:罗磊(@罗罗磊磊) 欢迎分享原创到伯乐头条 喜大普奔,喜极而泣,喜当爹,随着iPhone 6和iPhone 6 plus的上市,ios 8终于在上周 ...
- 将商户后台_门店管理后台_平台后台管理v1.0 Axure RP项目上传到svn服务器步骤
- Python实现C4.5(信息增益率)
Python实现C4.5(信息增益率) 运行环境 Pyhton3 treePlotter模块(画图所需,不画图可不必) matplotlib(如果使用上面的模块必须) 计算过程 st=>star ...
- VC++编程之对话框贴图
基于对话框的程序写好后,为对话框贴上个图片让界面更加美观(我承认做界面,MFC显得力不从心,不如QT). 其实很简单,我们以位图为例,选好我们需要的位图资源(bmp),假若自己的图片不是位图资源,可以 ...
- Daily Scrum4
今天我们小组开会内容分为以下部分: part1:与负责这个项目的其他组进行会晤; part2:组内成员召开了简短会议,进行工作安排; part3:总结今日工作,对项目遇到的问题商讨解决办法; ◆Par ...