1.不要贪,缩小区间去dp就好。

2.预处理指数。

3.__int128可还行。

 #include <cstdio>
#include <cctype>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std; template <typename T> void read(T &x) {
x = ;
int s = , c = getchar();
for (; !isdigit(c); c = getchar())
if (c == '-') s = -;
for (; isdigit(c); c = getchar())
x = x * + c - ;
x *= s;
} template <typename T> void write(T x) {
if (x < ) x = -x, putchar('-');
if (x > ) write(x / );
putchar(x % + '');
} template <typename T> void writeln(T x) {
write(x);
puts("");
} const int maxn = ; __int128 f[maxn][maxn], p[maxn], num[maxn], ans; __int128 dp(int l, int r, int depth) {
if (l == r) f[l][r] = num[l] * p[depth];
if (f[l][r] >= ) return f[l][r];
return f[l][r] = max(num[l] * p[depth] + dp(l + , r, depth + ), num[r] * p[depth] + dp(l, r - , depth + ));
} int main() {
int n, m;
read(n), read(m);
p[] = ;
for (int i = ; i <= m; i++)
p[i] = p[i - ] * ;
for (int i = ; i <= n; i++) {
for (int j = ; j <= m; j++)
read(num[j]);
memset(f, -, sizeof f);
ans += dp(, m, );
}
writeln(ans);
return ;
}

洛谷1005(dp)的更多相关文章

  1. 洛谷 1373 dp 小a和uim之大逃离 良心题解

    洛谷 1373 dp 这题还不算太难,,当初看的时候不是很理解题意,以为他们会选择两条不同的路径,导致整体思路混乱 传送门 其实理解题意和思路之后还是敲了不短的时间,一部分身体原因再加上中午休息不太好 ...

  2. 洛谷 1052 dp 状态压缩

    洛谷1052 dp 状态压缩 传送门 (https://www.luogu.org/problem/show?pid=1052#sub) 做完这道题之后,感觉涨了好多见识,以前做的好多状压题目都是将一 ...

  3. 洛谷 1156 dp

    洛谷1156 dp 类背包问题 老久没有自己想出来过dp方程了,,,虽然到最后还是只写了30分,,, 设dp[j]表示最大生命值为i时的最大高度,则对于每个物品,可以选择吃掉或者放上去,即转移为dp[ ...

  4. 洛谷 1063 dp 区间dp

    洛谷 1063 dp 区间dp 感觉做完这道提高组T1的题之后,受到了深深的碾压,,最近各种不在状态.. 初看这道题,不难发现它具有区间可并性,即(i, j)的最大值可以由(i, k) 与 (k+1, ...

  5. 洛谷 2409 dp 月赛题目

    洛谷 2409 dp 洛谷十月月赛T1,一道有些interesting的dp题目,当时做的时候想的比较复杂,根本没有往dp的方向去想.. 非官方题解: 1.据说可以使用优先队列来处理,参见Uva119 ...

  6. [JZYZOJ 1288][洛谷 1005] NOIP2007 矩阵取数 dp 高精度

    https://www.luogu.org/problem/show?pid=1005   dp好想,高精度练手题,有点不舒服的是前后取数位置的计算,代码量太少才会写题这么慢,noip之前虽然重点放在 ...

  7. 洛谷 1004 dp或最大费用流

    思路: dp方法: 设dp[i][j][k][l]为两条没有交叉的路径分别走到(i,j)和(k,l)处最大价值. 则转移方程为 dp[i][j][k][l]=max(dp[i-1][j][k-1][l ...

  8. 洛谷1005 【NOIP2007】矩阵取数游戏

    问题描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  9. AC日记——导弹拦截 洛谷 P1020 (dp+模拟)

    题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...

随机推荐

  1. Android studio在ubuntu下安装【转】

    本文转载自:http://www.jianshu.com/p/776e3b52e930 这学期的Android课程要学Android比较底层的东西,所以老师要求在Linux下安装Android的开发环 ...

  2. 基于BASYS2的VHDL程序——交通灯

    请尊重作者版权,转载请注明原地址: http://www.cnblogs.com/connorzx/p/3676746.html 数电实验交通灯VHDL版,程序写的扩展性很差,待以后有时间进行优化. ...

  3. Redis使用经验之谈

    应用场景 保存用户喜欢的商品信息. 类型: Hash, key: usr:${type_id}:${version_id}:${user_id}:${warehouse_id}, field: ${s ...

  4. webstorm代码提示按键改为alt+/

    webstorm代码提示默认按键为ctrl+空格 但是windows输入法中英文输入法的默认按键也是ctrl+空格 这就导致webstorm按键冲突,无法使用代码快捷提示按键 解决方法: 按ctrl+ ...

  5. 重装系统后texstudio拼写检查不工作

    重装texstudio还是不行. 后来发现是重装系统后用户名和以前的系统用户明不一样,导致系统盘里的用户文件夹路径不一样.而texstudio的字典存放在用户路径文件夹下 C:\Users\xxx\A ...

  6. liunx环境下安装tomcat

    第一:下载tomcat的安装包

  7. java-swing-JTextComponent

    package com.http; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Swi ...

  8. Linux下启动mongodb

    完成安装mongodb(略) 创建数据目录: # mkdir /data/mongo 创建配置文件 # vi /data/mongo/mongodb.cnf dbpath=/data/mongo/ l ...

  9. vs缩进多行,vs2013测试可用

    vs缩进多行,vs2013测试可用 选中要缩进的行,然后点击tab会直接在选中行增大缩进 快捷键 功能 描述 tab 增大缩进 选中要缩进的行,可多行 shift + table 减小缩进 选中要缩进 ...

  10. ubuntu--vim 技巧

    本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了! vi编辑器是所有Unix及Linux系统下标准的编 辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法 ...