题目描述

这是一个炎热的夏天,奶牛贝茜感觉到相当的疲倦而且她也特别懒惰。她要在她的领域中找到一个合适的位置吃草,让她能吃到尽可能多的美味草并且尽量只在很短的距离。
奶牛贝茜居住的领域是一个 N×N 的矩阵。在这个的矩阵中,贝茜至多只愿意花上 K 步。
她的每一步移动到一个单元格中,她可以走向北,南,东,西四个方向。
例如,假设矩阵如下,其中(B)描述了贝茜的初始位置(初始位置在第 3 行第 3 列):

          *
    *     *     *
*   *    *(B)  *     *
     *     *     *
          *          

当 K=2,则贝茜只能达到标有*的位置。

请帮助贝茜确定她能获得的最多的美味草是多少,如果她在矩阵中选择最佳的初始位置(奶牛贝茜深知地图边界不是万丈深渊就是悬崖峭壁,她是不会为了满足自己的好奇心而冒这个险的)。

输入输出格式

输入格式:

第 1 行:两个整数 N 和 K;

接下来输入 N×N 的矩阵,第 i 行第 j 列用 A[i][j]表示这个单元格中美味草的数量;

输出格式:

输出共一行一个整数:贝茜能获得的最多的美味草的数量,如果她选择最佳的初始位置(从她能达到最多草地的位置)。

输入输出样例

输入样例1:


输出样例1:


输入样例2:


输出样例2:


说明

对于 20%的数据:1≤N≤100;0≤K≤20;

对于 50%的数据:1≤N≤400;0≤K≤200;

对于 100%的数据:1≤N≤1,000;0≤A[i][j]≤1,000;0≤K≤2N;

解题思路

我们在输入时把整个矩阵旋转一下,比如数据2(%5d):


接下来统计前缀和即可

 #include<stdio.h>
 #include<algorithm>
 using namespace std;
 ][],sum[][],ans;
 int main()
 {
     scanf("%d%d",&n,&m);
     m=m*+;
     ;i<=n;i++)
         ;j<=n;j++)
             scanf(][n-i+j]);

     ;i<=*n;i++)//求矩形(0,0)到(i,j)的和,前缀和求解
         ;j<=*n;j++)
             sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+a[i][j];

     ;i<=*n;i++)
         ;j<=*n;j++)
             )^(j&))!=(n&))
                 ans=max(ans,sum[i][j]-sum[max(,i-m)][j]-sum[i][max(,j-m)]+sum[max(,i-m)][max(,j-m)]);

     printf("%d\n",ans);

     ;
 }

注:此题似乎需要读优,scanf会炸...

USACO The Lazy Cow的更多相关文章

  1. USACO 2.3 Cow Pedigrees

    Cow Pedigrees Silviu Ganceanu -- 2003 Farmer John is considering purchasing a new herd of cows. In t ...

  2. USACO 6.1 Cow XOR

    Cow XORAdrian Vladu -- 2005 Farmer John is stuck with another problem while feeding his cows. All of ...

  3. USACO 2012 Feb Cow Coupons

    2590: [Usaco2012 Feb]Cow Coupons Time Limit: 10 Sec Memory Limit: 128 MB Submit: 349 Solved: 181 [Su ...

  4. USACO 2.4 Cow Tours

    Cow Tours Farmer John has a number of pastures on his farm. Cow paths connect some pastures with cer ...

  5. [Usaco 2012 Feb]Cow coupons牛券:反悔型贪心

    Description Farmer  John  needs  new  cows! There  are  N  cows  for  sale (1 <= N <= 50,000), ...

  6. USACO 2011 November Cow Lineup /// map set 尺取法 oj25279

    题目大意: 输入n 接下来n行描述n头牛的编号num和品种id 得到包含所有id的最短段 输出最短段的编号差 Sample Input 625 726 115 122 320 130 1 Sample ...

  7. USACO 2009 Open Cow Line /// 队列 oj26220

    题目大意: 输入n,n次操作 操作A:在L(左边)或R(右边)插入一个递增的数 操作D:在L(左边)或R(右边)删除m个数 Sample Input 10A LA LA RA LD R 2A RA R ...

  8. BZOJ3476 : [Usaco2014 Mar]The Lazy Cow

    旋转坐标系后转化为正方形,$x'=x+y$,$y'=x-y+1000001$,$k'=2k-1$ 两根扫描线从左往右扫 f[i]表示y坐标下边界为i时的价值和 每次加入/删除一个点等价于一段区间加减 ...

  9. [USACO 07DEC]Best Cow Line, Gold

    Description 题库链接 给以长度为 \(n\) 的字符串,要求每次只能从两边取一个字符,使得取出来之后字典序最小. \(1\leq n\leq 30000\) Solution 将字符串翻转 ...

随机推荐

  1. Java 设计模式系列(九)组合模式

    Java 设计模式系列(九)组合模式 将对象组合成树形结构以表示"部分-整体"的层次结构.组合模式使得用户对单个对象的使用具有一致性. 一.组合模式结构 Component: 抽象 ...

  2. C#使用Log4Net记录日志(转)

    出处:http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html 第一步:下载Log4Net 下载地址:http://logg ...

  3. Android Gson 操作

    JSON序列化后的数据不带类名与名命空间,所以这两个服务端跟客户端可以不对应,需要保证字段对应即可 Asp.net MVC端 using System; using System.Collection ...

  4. Redis数据结构(五)

    存储set (1)和List类型不同的是,Set集合中不允许出现重复的元素 (2)set可包含的最大元素数量是4294967295 存储set常用命令: (1)添加/删除元素 添加 sadd myli ...

  5. linux每天一小步---find命令详解

    1 命令功能 find命令用于搜索指定目录下的文件,并配合参数做出相应的处理. 2 命令语法      find  搜索路径pathname 选项option [-exec -ok -print  执 ...

  6. linux每天一小步---touch命令详解

    1 命令功能:     创建文件和修改文件或者目录的时间戳 2 命令语法: touch  [选项] [文件名或者目录名] 3 命令参数: -a  只修改文件的access(访问)时间. -c  或-- ...

  7. Synchronizer解析(为AQS打个铺垫)

    ReentranceLock 和 Semaphore有很多共同点,他们都像是一个gate一样, 来控制让哪些线程阻塞,让哪些线程通过. 不同的是,ReentranceLock允许通过的量是1,Sema ...

  8. Android-隐式意图激活操作系统通话界面

    阅读Android操作系统的 packages/apps/phone/AndroidManifest.xml,是如何暴露的   AndroidManifest.xml Android操作系统在这里明确 ...

  9. [转载]灵动思绪EF(Entity FrameWork)

    很久之前就想写这篇文章了,但是由于种种原因,没有将自己学习的EF知识整理成一片文章.今天我就用CodeFirst和ModelFirst两种方式的简单案例将自己学习的EF知识做个总结. 在讲解EF之前, ...

  10. linux bash变量替换(# ## % %% / //)

    VAR=hahaha echo ${VAR#*h} # ahaha 从前向后匹配删除 VAR=hahaha echo ${VAR##*h} # a 贪婪模式,从前向后匹配删除所有 VAR=hahaha ...