6 条题解

  • 2
    @ 2025-1-26 11:02:25
    #include <iostream>
    using namespace std;
    int n,r;
    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);
    
    	}
    	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];
    		}
    	}
    	
    	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;
    }
    
    • 0
      @ 2025-3-5 17:32:03

      二位前缀

      #include<iostream>
      #include<algorithm>
      using namespace std;
      const int N=1e5+5,INF=0x3f3f3f3f;
      typedef long long LL;
      int n,x,y,v,r,ans=0;
      int f[9241][5780];
      int main()
      {
      	cin>>n>>r;
      	int a=r,b=r;
      	for(int i=1;i<=n;i++)
      	{
      		cin>>x>>y>>v;
      		x++,y++;
      		f[x][y]+=v;
      		a=max(a,x);b=max(b,y);
      	}
      	for(int i=1;i<=a;i++)for(int j=1;j<=b;j++)f[i][j]+=f[i-1][j]+f[i][j-1]-f[i-1][j-1];
      	for(int i=r;i<=a;i++)for(int j=r;j<=b;j++)ans=max(ans,f[i][j]-f[i-r][j]-f[i][j-r]+f[i-r][j-r]);
      	cout<<ans;
      	return 0;
      }
      
      • -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; }``

        • -2
          @ 2023-5-2 20:20:17
          #include <iostream>
          using namespace std;
          int n,r;
          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);
          
          	}
          	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];
          		}
          	}
          	
          	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;
          }
          
          • -3
            @ 2024-10-29 20:15:30
            #include <iostream>
            using namespace std;
            int n,r;
            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);
            
            	}
            	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];
            		}
            	}
            	
            	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;
            }
            
            
            • -6
              @ 2023-4-23 20:51:42
              #include <iostream>
              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;
              }``
              
              • 1

              信息

              ID
              11
              时间
              1000ms
              内存
              128MiB
              难度
              4
              标签
              递交数
              427
              已通过
              199
              上传者