当前位置:网站首页>Digital triangle model acwing 275 Pass a note
Digital triangle model acwing 275 Pass a note
2022-07-07 08:51:00 【T_ Y_ F666】
Digital triangle model AcWing 275. Pass slip
Original link
Algorithm tags
Dynamic programming linear DP
Ideas

Optimization of row number value range

Code
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 105;
int f[2*N][N][N], a[N][N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read(),m=read();
rep(i, 1, n+1){
rep(j, 1, m+1){
a[i][j]=read();
}
}
// Sum of row and column values The row determines the column
rep(k, 2, n+m+1){
// First time i That's ok
rep(i1, 1, n+1){
// Second time i That's ok
rep(i2, 1, n+1){
// j1 It means the first time j Column j2 It means the second time j Column
int j1=k-i1, j2=k-i2;
if(j1>=1&&j1<=m&&j2>=1&&j2<=m){
int t=a[i1][j1];
if(i1-i2){
t+=a[i2][j2];
}
f[k][i1][i2]=max({f[k][i1][i2], f[k-1][i1-1][i2-1]+t, f[k-1][i1-1][i2]+t, f[k-1][i1][i2-1]+t, f[k-1][i1][i2]+t});
}
}
}
}
printf("%lld", f[n+m][n][n]);
return 0;
}
Line number value range optimization code
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 105;
int f[2*N][N][N], a[N][N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read(),m=read();
rep(i, 1, n+1){
rep(j, 1, m+1){
a[i][j]=read();
}
}
// Sum of row and column values The row determines the column
rep(k, 2, n+m+1){
// First time i That's ok
rep(i1, max(1ll, k-m), min(k, n)+1){
// Second time i That's ok
rep(i2, max(1ll, k-m), min(k, n)+1){
// k-i1 Indicates the number of columns for the first time k-i2 Indicates the number of secondary columns
int t=a[i1][k-i1];
if(i1-i2){
t+=a[i2][k-i2];
}
f[k][i1][i2]=max({f[k][i1][i2], f[k-1][i1-1][i2-1]+t, f[k-1][i1-1][i2]+t, f[k-1][i1][i2-1]+t, f[k-1][i1][i2]+t});
}
}
}
printf("%lld", f[n+m][n][n]);
return 0;
}
Originality is not easy.
Reprint please indicate the source
If it helps you Don't forget to praise and support 
边栏推荐
- Data analysis methodology and previous experience summary 2 [notes dry goods]
- 数字三角形模型 AcWing 1027. 方格取数
- 年薪50w阿裏P8親自下場,教你如何從測試進階
- [南京大学]-[软件分析]课程学习笔记(一)-introduction
- Greenplum6.x监控软件搭建
- xray的简单使用
- Composer change domestic image
- [Yugong series] February 2022 U3D full stack class 008 - build a galaxy scene
- LeetCode 736. Lisp 语法解析
- [Yu Yue education] higher vocational English reference materials of Nanjing Polytechnic University
猜你喜欢

指针进阶,字符串函数

Greenplum6.x搭建_安装

联想混合云Lenovo xCloud:4大产品线+IT服务门户

LeetCode 736. LISP syntax parsing

A bug using module project in idea

Quick sorting (detailed illustration of single way, double way, three way)

Greenplum 6.x version change record common manual

调用华为游戏多媒体服务的创建引擎接口返回错误码1002,错误信息:the params is error
![FPGA knowledge accumulation [6]](/img/db/c3721c3e842ddf4c1088a3f54e9f2a.jpg)
FPGA knowledge accumulation [6]

Pointer advanced, string function
随机推荐
为不同类型设备构建应用的三大更新 | 2022 I/O 重点回顾
LeetCode 736. LISP syntax parsing
ncs成都新電面試經驗
快速集成认证服务-HarmonyOS平台
Frequently Asked Coding Problems
登山小分队(dfs)
Selenium automation integration, eight years of testing experience, soft test engineer, an article to teach you
如何在图片的目标中添加目标的mask
23 Chengdu instrument customization undertaking_ Discussion on automatic wiring method of PCB in Protel DXP
QT charts use (rewrite qchartview to realize some custom functions)
LeetCode 736. Lisp 语法解析
Problems encountered in the use of go micro
Count sort (diagram)
let const
Database storage - table partition
channel. Detailed explanation of queuedeclare parameters
You should use Google related products with caution
POJ - 3616 Milking Time(DP+LIS)
mysql分区讲解及操作语句
最长上升子序列模型 AcWing 1017. 怪盗基德的滑翔翼