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 ...
随机推荐
- Linq操作
Linq使用Group By 1 1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述 ...
- 通过Maven搭建Mybatis项目
学习通过maven工程搭建Mybatis工程开启对M ybaits的学习总结之旅. 1.首先创建Maven工程. 2.在pom.xml文件中加入依赖的jar <!-- mybatis核心包 -- ...
- [JAVA][RCP] Eclipse4/RCP/Lifecycle
E4AP provides two levels of lifecycles, for contributions and for the application. Contents [hide] ...
- golang的nil
golang中什么样的类型可以赋值nil? 类型文档中有注定"uninitialized value is nil"的类型都可以赋值nil. golang的基本类型不能赋值nil: ...
- django-south
python manage.py schemamigration youappname --initial # --initial在数据库创建models定义的表,以及South需要的south_mi ...
- 常用gradle命令
1.build.gradle ext { profile = "dev" tag='web' if (project.hasProperty('pro')) { temp = pr ...
- CentOS 6.3 安装以及配置Apache php mysql
准备篇: 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dp ...
- [转]KDE/QT与GNOME/GTK比较
[转]KDE/QT与GNOME/GTK比较 http://www.cnblogs.com/itech/archive/2009/08/18/1548964.html 虽然在商业方面存在竞争,GNOME ...
- iOS 进阶 第十七天(0420)
0420 凡是继承了UIResponder的类都可以做响应者 响应事件的传递是由底到高来传递,响应者链条是由高到底来响应 相应事件的传递(由底到高 找到正在和用户触摸交互的view) 准则:事件由父控 ...
- Ubuntu 关闭锁屏界面的 on-screen keyboard
试了试屏幕键盘,在 系统设置里开启了,又关了,但是在屏幕解锁时总是出现 screen keyboard,老烦人了,不知到在哪里关闭了,系统设置里面都关了,网上搜了解决办法,原来在这里 把 show w ...