牛客小白月赛1 G あなたの蛙は旅⽴っています【图存储】【DP】
题目链接:https://www.nowcoder.com/acm/contest/85/G
思路:

DP 空间可以优化成一维的, 用一维数组的 0 号单元保存左斜对角的值即可。
存图这里真不好理解 = =
AC 代码:
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <vector> using namespace std; #define max3(x, y, z) max(max((x), (y)), (z))
#define min3(x, y, z) min(mix((x), (y)), (z))
#define pb push_back
#define ppb pop_back
#define mk make_pair #define debug_l(a) cout << #a << " " << (a) << endl
#define debug_b(a) cout << #a << " " << (a) << " "
#define testin(filename) freopen((filename) ,"r",stdin)
#define testout(filename) freopen((filename) ,"w",stdout) typedef long long ll;
typedef unsigned long long ull; const double PI = 3.14159265358979323846264338327;
const double E = exp();
const double eps = 1e-; const int INF = 0x3f3f3f3f;
const int NINF = 0xc0c0c0c0;
const int maxn = 3e3 + ;
const int MOD = 1e9 + ; int Map[maxn][maxn], Cur[maxn], dp[maxn][maxn];
int main()
{
//testin("data1.in");
int n;
scanf("%d", &n);
memset(Map, NINF, sizeof(Map));
memset(Cur, , sizeof(Cur));
memset(dp, , sizeof(dp));
int vis = + ( * (n - ));
int cur = * n - ;
int i, j; for (int i = ; i < vis - n; i++) {
if (i <= i % n)
Cur[i] = i % n + ;
else {
if (n & )
Cur[i] = (i & ) ? n - : n;
else
Cur[i] = (i & ) ? n : n - ;
}
}
for (int i = vis - ; i >= vis - n; i--)
Cur[i] = vis - i; vector <int> v[vis];
int temp;
for (i = ; i < vis; i++)
{
for (j = ; j < Cur[i]; j++)
{
scanf("%d", &temp);
v[i].push_back(temp);
}
} int len = cur / + ;
int flag = ;
for (i = , j = n; i < len; i++, j++)
{
for (int l = , k = flag; l < j; l++, k++)
{
Map[i][l] = v[k][v[k].size() - ];
v[k].pop_back();
if (v[k].size() == )
flag++;
}
} for (j -= ; i < cur; i++, j--)
{
for (int l = (cur - j), k = flag; l < cur; l++, k++)
{
Map[i][l] = v[k][v[k].size() - ];
v[k].pop_back();
if (v[k].size() == )
flag++;
}
} dp[][] = Map[][];
for (int i = ; i < cur; i++) {
dp[][i] = Map[][i] + dp[][i - ];
dp[i][] = Map[i][] + dp[i - ][];
} for (int i = ; i < cur; i++)
for (int j = ; j < cur; j++)
dp[i][j] = Map[i][j] + max3(dp[i - ][j - ], dp[i - ][j], dp[i][j - ]); cout << dp[cur - ][cur - ] << endl;
return ;
}
参考原文:https://blog.csdn.net/Dup4plz/article/details/79639771
牛客小白月赛1 G あなたの蛙は旅⽴っています【图存储】【DP】的更多相关文章
- 牛客小白月赛1 G あなたの蛙は旅⽴っています【DP】
题目链接 https://www.nowcoder.com/acm/contest/85/G 思路 按照题解上的方式 存取数据 然后DP一下 就可以了 AC代码 #include <cstdio ...
- 牛客小白月赛2 G 文 【模拟】
链接:https://www.nowcoder.com/acm/contest/86/G来源:牛客网 题目描述 Sεlιнα(Selina) 开始了新一轮的男友海选.她要求她的男友要德智体美劳样样都全 ...
- 牛客网 牛客小白月赛1 I.あなたの蛙が帰っています-卡特兰数,组合数阶乘逆元快速幂
I.あなたの蛙が帰っています 链接:https://www.nowcoder.com/acm/contest/85/I来源:牛客网 这个题有点意思,是卡特兰数,自行百度就可以.卡特兰数用处 ...
- 牛客小白月赛6 G 指纹锁 set的自动排序 模板
链接:https://www.nowcoder.com/acm/contest/136/G来源:牛客网 题目描述 HA实验有一套非常严密的安全保障体系,在HA实验基地的大门,有一个指纹锁. ...
- 牛客小白月赛1 I あなたの蛙が帰っています 【卡特兰数】
链接:https://www.nowcoder.com/acm/contest/85/I题目描述 あなたの蛙が帰っています! 蛙蛙完成了一趟旅行,回家啦!但它还是没有去它心中非常想去的几个地方.总共 ...
- 牛客小白月赛5 G 异或(xor) 【找规律】
题目链接: https://www.nowcoder.com/acm/contest/135/g 题目描述 从前,Apojacsleam家的水族箱里,养了一群热带鱼. 在这几条热带鱼里,Apojacs ...
- 牛客网 牛客小白月赛2 G.文
G.文 链接:https://www.nowcoder.com/acm/contest/86/G 这个题wa了一发,有点智障,浮点数,式子里面要*1.0,忘了,然后wa了,改了就过了(脑子有坑) 代码 ...
- 牛客小白月赛14 -G (筛法)
题目链接:https://ac.nowcoder.com/acm/contest/879/G 题意:给定A1和A数组公式: 以及B数组: 求 思路:利用筛法更新b数组,最后求异或和即可. AC代码: ...
- 牛客小白月赛13 G(双向搜索)
AC通道 两边同步搜,一步里面A走一次B走两次,遇到对方走过的地方就得到了答案. #include <bits/stdc++.h> using namespace std; const i ...
随机推荐
- emmet缩写大全
Syntax Child: > nav>ul>li <nav> <ul> <li></li> </ul> </n ...
- Luogu P2480 [SDOI2010]古代猪文 卢卡斯+组合+CRT
好吧刚开始以为扩展卢卡斯然后就往上套..结果奇奇怪怪又WA又T...后来才意识到它的因子都是质数...qwq怕不是这就是学知识学傻了.. 题意:$ G^{\Sigma_{d|n} \space C_n ...
- 洛谷P5280 [ZJOI2019]线段树
https://www.luogu.org/problemnew/show/P5280 省选的时候后一半时间开这题,想了接近两个小时的各种假做法,之后想的做法已经接近正解了,但是有一些细节问题理不 ...
- py---------模块和包
单独导入包 单独导入包名称时不会导入包中所有包含的所有子模块,如 #在与glance同级的test.py中 import glance glance.cmd.manage.main() ''' 执行结 ...
- linux下各种格式软件的安装(引用http://blog.csdn.net/zyz511919766/article/details/7574040)
首先介绍两个简单的方式 第一:sudo apt-get install packagename 命令 如果我们知道我们要安装的软件的确切的名称,那么我们可以简单的通过此条命令来获取和安装软件.apt- ...
- C数据结构与算法-算法复杂度
算法复杂度分为时间复杂度T(n)和空间复杂度F(n) 时间复杂度:也就是执行算法程序所需的时间,与硬件的速度.编程语言的级别.编译器的优化.数据的规模.执行的频度有关,前三个有很大的不确定性,所以衡量 ...
- ASP.NET MVC CheckBoxFor为什么会生成hidden input控件
自己开发的公众号,可以领取淘宝内部优惠券 @Html.CheckBoxFor(m => m.Bool) 使用CheckBoxFor方法得到的html代码会是下面这个样子 <input ch ...
- js中===、==、!=、!===的区别
结论 ===:先比较两个变量的类型,然后再比较值 !==:上面的值取非 ==:如果变量类型相同,比较值是否相同:类型不同,先转成相同类型,再比较值 !=:上面的值取非 代码 var num = 1; ...
- Centos 6.5 添加PHP5.6-7.1的源
centOS6.5 安装后 自带的源中php是5.3版本的,对与php一些常用的框架而言 ,已经不能满足需求了: 使用下面的源 就可以更新到php7.1版本了. # rpm -Uvh http://r ...
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第十二天(非原创)
文章大纲 一.课程介绍二.Ngnix基础知识学习三.Ngnix在淘淘商城中使用四.参考资料下载五.参考文章 一.课程介绍 一共14天课程(1)第一天:电商行业的背景.淘淘商城的介绍.搭建项目工程.Sv ...