思路:二维前缀和, 枚举矩形左上端点。

  1. #include<bits/stdc++.h>
  2. #define LL long long
  3. #define fi first
  4. #define se second
  5. #define mk make_pair
  6. #define pii pair<int,int>
  7. #define piii pair<int, pair<int,int>>
  8.  
  9. using namespace std;
  10.  
  11. const int N = + ;
  12. const int M = 1e4 + ;
  13. const int inf = 0x3f3f3f3f;
  14. const LL INF = 0x3f3f3f3f3f3f3f3f;
  15. const int mod = 1e9 + ;
  16.  
  17. int n, r, a[N][N];
  18.  
  19. int cal(int x, int y) {
  20. return a[x][y];
  21. }
  22. int main() {
  23. scanf("%d%d", &n, &r);
  24. for(int i = ; i <= n; i++) {
  25. int x, y, v; scanf("%d%d%d", &x, &y, &v);
  26. x++; y++;
  27. a[x][y] += v;
  28. }
  29.  
  30. for(int i = ; i <= ; i++) {
  31. for(int j = ; j <= ; j++) {
  32. a[i][j] += a[i - ][j] + a[i][j - ] - a[i - ][j - ];
  33. }
  34. }
  35.  
  36. int ans = ;
  37. for(int i = ; i <= ; i++) {
  38. for(int j = ; j <= ; j++) {
  39. int x = i + r - ;
  40. int y = j + r - ;
  41. x = min(x, );
  42. y = min(y, );
  43. int ret = cal(x, y) - cal(i - , y) - cal(x, j - ) + cal(i - , j - );
  44. ans = max(ans, ret);
  45. }
  46. }
  47. printf("%d\n", ans);
  48. return ;
  49. }
  50.  
  51. /*
  52. */

bzoj 1218: [HNOI2003]激光炸弹的更多相关文章

  1. BZOJ 1218: [HNOI2003]激光炸弹 前缀DP

    1218: [HNOI2003]激光炸弹 Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(N<=10000)个目标,用整数Xi,Yi(其值 ...

  2. BZOJ 1218: [HNOI2003]激光炸弹( 前缀和 + 枚举 )

    虽然source写着dp , 而且很明显dp可以搞...但是数据不大 , 前缀和 + 枚举也水的过去..... -------------------------------------------- ...

  3. bzoj 1218 [HNOI2003]激光炸弹 二维前缀和

    [HNOI2003]激光炸弹 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3022  Solved: 1382[Submit][Status][Di ...

  4. BZOJ 1218: [HNOI2003]激光炸弹(二维前缀和)

    Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(N<=10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置 ...

  5. [BZOJ 1218] [HNOI2003] 激光炸弹 【n logn 做法 - 扫描线 + 线段树】

    题目链接:BZOJ - 1218 题目分析 可以覆盖一个边长为 R 的正方形,但是不能包括边界,所以等价于一个边长为 R - 1 的正方形. 坐标范围 <= 5000 ,直接 n^2 的二维前缀 ...

  6. 1218: [HNOI2003]激光炸弹

    1218: [HNOI2003]激光炸弹 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1139  Solved: 542[Submit][Statu ...

  7. 【BZOJ】1218: [HNOI2003]激光炸弹(前缀和)

    题目 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为 ...

  8. bzoj1218: [HNOI2003]激光炸弹(DP二维前缀和)

    1218: [HNOI2003]激光炸弹 题目:传送门 题解: 一道经典题目啊... 为了更好的操作...把整个坐标系向右上角移动,从(1,1)开始 那么f[i][j]统计一下以(i,j)作为右上角, ...

  9. 洛谷P2280 [HNOI2003]激光炸弹

    P2280 [HNOI2003]激光炸弹 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ...

随机推荐

  1. Spring @Transactional注解不回滚不起作用无效

    原文地址:http://www.cnblogs.com/wuxiaofeng/p/6819209.html   这几天在项目里面发现我使用@Transactional之后,抛了异常居然不回滚.后来终于 ...

  2. 哈密顿图 哈密顿回路 哈密顿通路(Hamilton)

    本文链接:http://www.cnblogs.com/Ash-ly/p/5452580.html 概念: 哈密顿图:图G的一个回路,若它通过图的每一个节点一次,且仅一次,就是哈密顿回路.存在哈密顿回 ...

  3. Table of Contents

    程序设计 Java JavaSE Apache Commons Servlet & JSP Maven JMS ActiveMQ WebService CXF Jersey HttpClien ...

  4. VBscript.Encode 解码器

    VBscript.Encode 解码器   此解码器算法来至互联网,我只是收集然后写了个简单的页面便于大家使用. 如有何不妥之处,请留言.

  5. 【BZOJ】3160: 万径人踪灭 FFT+回文串

    [题意]给定只含'a'和'b'字符串S,求不全连续的回文子序列数.n<=10^5. [算法]FFT+回文串 [题解]不全连续的回文子序列数=回文子序列总数-回文子串数. 回文子串数可以用回文串算 ...

  6. 【AtCoder】ARC095 E - Symmetric Grid 模拟

    [题目]E - Symmetric Grid [题意]给定n*m的小写字母矩阵,求是否能通过若干行互换和列互换使得矩阵中心对称.n,m<=12. [算法]模拟 [题解]首先行列操作独立,如果已确 ...

  7. JavaScript辅助响应式

    js响应式 rem辅助响应式布局:其实就是指在HTML页面的大小不断变化的时候,里面的宽.高.字体等等也随之变化,主要是通过获取window.innerwidth的值来进行判断,7.5rem===10 ...

  8. [译] 用HTML5捕获音频和视频

    原文地址:http://www.html5rocks.com/en/tutorials/getusermedia/intro/ 概述 有了HTML5,我们就可以在不借助Flash或者Silverlig ...

  9. weblogica 启动managed server 不用每次输入密码

    [weblogic@node2 AdminServer]$ pwd /home/weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains ...

  10. MySQL分页存储过程

    CREATE PROCEDURE ProcPage(in tableName varchar(20),#表名  in showField varchar(100),#要显示的列名  in whereT ...