5 条题解

  • 1
    @ 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;
    }
    
    • -1
      @ 2024-3-29 18:32:40

      #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
        @ 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;
        }
        
        • -2
          @ 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;
          }
          
          
          • -5
            @ 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
            难度
            3
            标签
            递交数
            378
            已通过
            192
            上传者