犇犇求调~~

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

CZH_xixi @ 2024-10-17 18:27:36

本来卡55发现没关注dp改完后归零了但感觉马上成了!!!(附上代码)

#include<bits/stdc++.h>
using namespace std;
int a,b[1001],shu=0,ma=0;
int main(){
    scanf("%d",&a);
    for(int i=1;i<=a;i++)
    {
        for(int o=1;o<=i;o++)
        {
            scanf("%d",&b[o]);
            ma=max(ma,b[o]);
        }
        shu+=ma;
        ma=0;

    }
    printf("%d",shu);
}

以上为55择优(无动规)

#include<bits/stdc++.h>
using namespace std;
int a,b[1002],shu=0,ma=0,di=1;
int main(){
    scanf("%d",&a);
    for(int i=1;i<=a;i++)
    {
        for(int o=1;o<=i;o++)
        {
            scanf("%d",&b[o]);
            ma=max(ma,max(b[di],b[di+i]));
            di=o;
        }
        shu+=ma;
        cout<<'"'<<ma<<'"';
        ma=0;
    }
    printf("%d",shu-1);
}

(各位犇犇麻烦留下思路(@~@想学习))


by xuzilang @ 2024-10-17 18:44:37

试试二维dp

#include<bits/stdc++.h>
using namespace std;
int n, a[1005][1005], x, ans = 0;
int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= i; j++)
        {
            cin >> x;
            a[i][j] += x;
        }
        for(int j = 1; j <= i+1; j++)
        {
            a[i+1][j] += max(a[i][j-1], a[i][j]);
            ans = max(ans, a[i+1][j]);
        }
    }
    cout << ans;
}

by __Luna__ @ 2024-10-17 18:59:47

调出来了。
好吧你这个根本没法调,因为思路有问题。
这里在改动尽量小(其实是尽量不加新的变量,逻辑结构全部变量)的情况下写了一个解:

#include<bits/stdc++.h>
using namespace std;
int a,b[1002],shu=0,ma=0,di;
int main(){
    scanf("%d",&a);
    for(int i=1;i<=a;i++)
    {
        int j=0;
        for(int o=1;o<=i;o++)
        {
            scanf("%d",&di);
            shu=max(b[o-1],b[o])+di;
            b[o-1]=j,j=shu;
            ma=max(ma,j);
        }
        b[i]=j;
    }
    printf("%d",ma);
}

好吧和你的代码没有半毛钱关系。动规不是你那么写的喂~
@xuzilang 我想说的是,能压位dp为什么要二位dp。


by __Luna__ @ 2024-10-17 19:00:29

逻辑结构全部变了,我打错字了 @2023_1202


by __Luna__ @ 2024-10-17 19:01:20

@Luna 二维dp(我手怎么这么欠呢喂)


by CZH_xixi @ 2024-10-18 23:07:51

@Luna 谢谢捏


by CZH_xixi @ 2024-10-18 23:08:11

@xuzilang 谢谢你!


|