5 条题解

  • -2
    @ 2024-3-29 18:32:40

    #include using namespace std; int n,r; // struct target{ // int x; // int y; // int w; // }a[10000]; int cnt; int maxx = -1; int XMAX = -1; int YMAX = -1; int f[5002][5002]; int main() { cin>>n>>r; XMAX = r; YMAX = r; for(int i=0;i<n;i++) { int x,y,w; cin>>x>>y>>w; f[x+1][y+1] += w; XMAX = max(XMAX,x+1); YMAX = max(YMAX,y+1);

    }
    

    // ]; f[1][0] += f[0][0]; // f[0][1] += f[0][0 for(int i=1;i<=XMAX;i++) { for(int j=1;j<=YMAX;j++) { f[i][j] += f[i-1][j] + f[i][j-1] - f[i-1][j-1]; } } // f[1][0] += f[0][0]; // f[0][1] += f[0][0]; // for(int i=1;i<=XMAX;i++) // { // for(int j=1;j<=YMAX;j++) // cout<<f[i][j]<<" "; // cout<<endl; // } for(int i=r;i<=XMAX;i++) { for(int j=r;j<=YMAX;j++) { maxx=max(maxx,f[i][j]-f[i-r][j]-f[i][j-r]+f[i-r][j-r]); } } cout<<maxx<<endl; return 0; }``

    信息

    ID
    11
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    递交数
    379
    已通过
    192
    上传者