全re求助

P1220 关路灯

@[inkpigeon](/user/750598) ```cpp #include<bits/stdc++.h> #define ll long long #define deb cerr<<"debug\n"; using namespace std; ll read() { short f=1;ll x=0;char s=getchar(); while(s<48||s>57){f=s=='-'?-1:1;s=getchar();} while(s>=48&&s<=57){x=x*10+s-48;s=getchar();} return x*f; } int a[52],b[52],s[52],f[52][52][2]; int main() { int n=read(),c=read(); for(int i=1;i<=n;++i) { a[i]=read();b[i]=read(); s[i]=s[i-1]+b[i]; } memset(f,127,sizeof(f)); f[c][c][0]=0;f[c][c][1]=0; for(int i=2;i<=n;++i) { for(int j=1;i+j-1<=n;++j) { int k=i+j-1; f[j][k][0]=min(f[j+1][k][0]+(a[j+1]-a[j])*(s[j]+s[n]-s[k]),f[j+1][k][1]+(a[k]-a[j])*(s[j]+s[n]-s[k])); f[j][k][1]=min(f[j][k-1][0]+(a[k]-a[j])*(s[j-1]+s[n]-s[k-1]),f[j][k-1][1]+(a[k]-a[k-1])*(s[j-1]+s[n]-s[k-1])); } } printf("%d",min(f[1][n][0],f[1][n][1])); return 0; } ```
by zhaohanwen @ 2023-08-23 19:25:30


您为什么要写成这样`for(int j=1,k=i+j-1;k<=n;++j)`
by zhaohanwen @ 2023-08-23 19:26:25


`f[j][k][0] = min(f[j + 1][k][0] + (a[j + 1] - a[j]) * (s[j] + s[n] - s[k]),` 那里有问题
by typerxiaozhu @ 2023-08-23 19:26:58


@[zhaohanwen](/user/767660) 就是觉得可以少写一个int就放到里面了
by inkpigeon @ 2023-08-23 19:27:36


但是改完后也可以AC@[typerxiaozhu](/user/807832)
by zhaohanwen @ 2023-08-23 19:28:00


@[zhaohanwen](/user/767660) 啊?改完就过了
by inkpigeon @ 2023-08-23 19:28:38


对啊@[inkpigeon](/user/750598)
by zhaohanwen @ 2023-08-23 19:28:57


@[typerxiaozhu](/user/807832) @[zhaohanwen](/user/767660) 谢谢
by inkpigeon @ 2023-08-23 19:29:14


@[zhaohanwen](/user/767660) 哈哈,遇到re我都直接在vs里面跑的,会自己报错
by typerxiaozhu @ 2023-08-23 19:29:23


我一般自己debug@[typerxiaozhu](/user/807832)
by zhaohanwen @ 2023-08-23 19:29:56


|