7 条题解

  • 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-29 18:46:13

      #include 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
                标签
                递交数
                447
                已通过
                208
                上传者