輸入格式:
輸入檔名為input.txt
輸入檔案的第一行為正整數n和正整數r,接下來的n行每行有3個正整數,分別表示 xi,yi ,vi 。
輸出格式:
輸出檔名為output.txt
輸出檔案僅有乙個正整數,表示一顆炸彈最多能炸掉地圖上總價值為多少的目標(結果不會超過32767)。
輸入樣例#1:
2 1輸出樣例#1:0 0 1
1 1 1
1居然沒有題解,,
這道題目我們可以考慮用二維字首和解決。
我們用dp[i][j]表示從(1,1)到(i,j)的價值之和,
因為只有5000個點,所以我們可以考慮暴力預處理,、
轉移方程:dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+dp[i][j](可以畫圖理解一下)
然後暴力求結果就好
ans=max(ans,dp[i+r][j+r]-dp[i+r][j]-dp[i][j+r]+dp[i][j]);
1 #include2 #include3 #include4 #include5using
namespace
std;
6int n,r,dp[5101][5101];7
void read(int &n)811
while(c>='
0'&&c<='9'
)12
13 flag==1?n=-x:n=x;14}
15int ans=0;16
intmain()
1725
for(int i=1;i<=5001;i++)
26for(int j=1;j<=5001;j++)
27 dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+dp[i][j];
28for(int i=0;i<=5001-r;i++)
29for(int j=0;j<=5001-r;j++)
30 ans=max(ans,dp[i+r][j+r]-dp[i+r][j]-dp[i][j+r]+dp[i][j]);
31 printf("%d"
,ans);
32return0;
33 }
P2280 HNOI2003 雷射炸彈
雷射炸彈 一種新型的雷射炸彈,可以摧毀乙個邊長為r的正方形內的所有的目標。現在地圖上有n n 10000 個目標,用整數xi,yi 其值在 0,5000 表示目標在地圖上的位置,每個目標都有乙個價值。雷射炸彈的投放是通過衛星定位的,但其有乙個缺點,就是其爆破範圍,即那個邊長為r的正方形的邊必須和x,...
P2280 HNOI2003 雷射炸彈
輸入輸出格式 輸入格式 輸入檔名為input.txt 輸入檔案的第一行為正整數n和正整數r,接下來的n行每行有3個正整數,分別表示 xi,yi vi 輸出格式 輸出檔名為output.txt 輸出檔案僅有乙個正整數,表示一顆炸彈最多能炸掉地圖上總價值為多少的目標 結果不會超過32767 輸入樣例 1...
洛谷P2280 HNOI2003 雷射炸彈
題目描述 輸入輸出格式 輸入格式 輸入檔名為input.txt 輸入檔案的第一行為正整數n和正整數r,接下來的n行每行有3個正整數,分別表示 xi,yi vi 輸出格式 輸出檔名為output.txt 輸出檔案僅有乙個正整數,表示一顆炸彈最多能炸掉地圖上總價值為多少的目標 結果不會超過32767 輸...