T2:

The Lazy Cow

Description

夏天很热,贝茜越发地懒散了。她想要使自己位于她的田里一个尽可能在短距离内够到美味的青草的位置。
贝茜居住的田野被描述为一个N 乘N 方格组成的棋盘(1 <= N <= 400)。
在第r 行第c 列的格子(1 <= r; c <= N)包含G(r; c)(0 <= G(r; c) <= 1000)单位的青草(节操)。从她在棋盘内的初始方格出发,贝茜只愿意走K 步路(0 <= K <= 2* N)。每一步路她从当前的位置向正北,正南,正东或正西移动一格。
举个例子,假如棋盘如下,这里(B) 描述贝茜的初始位置(在第三行第三列):

50 5 25* 6 17
14 3* 2* 7* 21
99* 10* 1*(B) 2* 80*
8 7* 5* 23* 11
10 0 78* 1 9
如果K = 2,那么贝茜只能到达有星号(*)标记的位置。
请帮助贝茜确定,当她选择在棋盘中的最佳初始位置时,她能够到的最大青草总量。

输入格式

第一行:整数N 和K。
第2 至N + 1 行:第r + 1 行包含N 个整数用以描述棋盘的第r 行。

输出格式

输出单独一行一个整数——如果她在最佳初始位置(从这个位置她能够到最多的青草),那么贝茜能够到青草的最大总量。

输入样例

5 2
50 5 25 6 17
14 3 2 7 21
99 10 1 2 80
8 7 5 23 11
10 0 78 1 9

输出样例

342
样例解释:
在上面的例子里,贝茜如果位于棋盘的正中央,那么她能够到总共为342 单位的青草。

数据范围

对于20% 的数据,N<=20
对于30% 的数据,N<= 50;K<=10
对于40% 的数据,N <=100;K <= 20

题解:
通过暴力枚举我们可以发现,可吃草的范围是以菱形领域扩张的,
由此,我们可枚举每个点,并以这个点为牛所在位置,通过前缀和算出改点领域内草的和
并求出领域内草的和最大的那个点
参考程序:
var     n,k,i,j,t,t2,ans,sum:longint;a:array[-500..500,-500..800]of longint;s:array[-500..500,-500..800]of longint;
function max(x,y:longint):longint;
beginif x>y then exit(x) else exit(y);
end;
function min(x,y:longint):longint;
beginif x<y then exit(x) else exit(y);
end;
beginreadln(n,k);for i:=1 to n dobeginfor j:=1 to n dobeginread(a[i,j]);s[i,j]:=s[i,j-1]+a[i,j];end;for j:=n+1 to n+n do s[i,j]:=s[i,j-1];end;if k>=n thenbeginfor i:=1 to n do ans:=ans+s[i,n];writeln(ans);exit;end;for i:=1 to n dofor j:=1 to n dobeginsum:=0;t2:=0;if i-k<1 then t2:=1-(i-k);for t:=max(i-k,1) to i dobegininc(t2);sum:=sum+s[t,j+t2-1]-s[t,j-t2];end;for t:=i+1 to min(i+k,n) dobegindec(t2);sum:=sum+s[t,j+t2-1]-s[t,j-t2];end;if sum>ans then ans:=sum;end;writeln(ans);
end.

2014.3 USACO月赛T2 The Lazy Cow相关推荐

  1. Problem B:化装晚会(usaco月赛)

    Problem B:化装晚会(usaco月赛) Time Limit:1000MS  Memory Limit:65536K Total Submit:162 Accepted:104 Descrip ...

  2. USACO月赛使用攻略

    usaco是美国中学生的官方竞赛网站,美国著名在线题库,专门为信息学竞赛选手准备,但必须在注册后才能进入题库. 1. 进入USACO月赛网址,点击进行注册: 2. 填写个人信息,点击提交submit ...

  3. 洛谷月赛T2 P6858[深海少女与胖头鱼]题解

    目录 题面 前置知识 数学期望 快速幂 逆元 题解 分析 AC Code 题面 洛谷十月月赛II T2 深海少女与胖头鱼 总共有 nnn 条带 「圣盾」的「胖头鱼」和 mmm 条不带圣盾的胖头鱼,每次 ...

  4. USACO 2011 Nov. [Bronze] P4. Cow Beauty Pageant

    原题地址:http://www.usaco.org/index.php?page=viewproblem2&cpid=87 题目描述 Hearing that the latest fashi ...

  5. BZOJ3476 : [Usaco2014 Mar]The Lazy Cow

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

  6. bzoj4278[ONTAK2015]Tasowanie bzoj1692[USACO 2007Dec]队列变换(Best Cow Line) 贪心正确性证明...

    做法网上到处都有就不说了. 这题其实是之前做的-.不过由于人太傻现在才想明白比较字典序进行贪心的正确性-. 方便起见,在两个串的最右端都加上很大但不相同的字符,避免第lcp+1个字符不存在的边界. 如 ...

  7. 【USACO 2.3.4】Cow Tours 牛的旅行

    题目描述 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧场通过任何路径都不连通.这样,Farmer John就有多个 ...

  8. [usaco月赛]梦幻王国

    Description 梦幻王国钱币面值有五种1.7.49.343.2401(即:7^0.7^1.7^2.7^3.7^4).某人买东西要用现金支付n元,买卖双方可以相互找钱(假设双方各种钱币数量都足够 ...

  9. 洛谷7月月赛 T2 X龙珠

    题目描述 "X龙珠"是一款益智小游戏.游戏中有 n(2|n)n(2∣n) 个编号互不相同龙珠按照给定的顺序排成一个队列,每个龙珠上面都有一个编号.每次操作时,选择并取出龙珠队列中相 ...

最新文章

  1. 介绍一下Objective-c常用的函数,常数变量
  2. 第四范式AI转型合伙人招聘进行时
  3. 初步了解并使用正则表达式 (REGular EXPression)
  4. html双翼布局,第19题 CSS如何实现双飞翼布局?
  5. asp.net core Serilog的使用
  6. CSS块级元素与行内元素的区别和联系
  7. android客户端从服务器端获取json数据并解析的实现代码
  8. Windows下学习Objective-C 2.0
  9. Codeforces 432D Prefixes and Suffixes(KMP+dp)
  10. android 传感器的学习
  11. C++算法学习(力扣:1003. 检查替换后的词是否有效)
  12. 计算机显示器的标准是什么,电脑显示器的标准相位是多少啊
  13. 亦余心之所善兮,虽九死其犹未悔
  14. Unity动态天空shader实现
  15. iWork8删除Android分区,摆脱安卓,释放空间——iwork1x双系统变win10单系统教程
  16. hyperlynx si 前仿真
  17. 深信服---之上网行为管理
  18. 微信小程序 todolist
  19. 1244 数列有序
  20. android+最新手机,最新Android手机性能榜单:骁龙845+8G的它只排第三

热门文章

  1. vivo系统升级服务器,vivo-智能手机官方网站
  2. 银联银行卡交换系统8583报文解析
  3. 计算机软件实习项目二 —— 贪吃蛇游戏 (实验准备)
  4. Linux系统下安装PGI,OpenACC编译器
  5. 插入篇 |程序员进阶之推荐书目
  6. 机器学习(八) 生成对抗网络(GAN)
  7. R语言学习笔记︱Echarts与R的可视化包——地区地图
  8. 如何提高团队管理能力7
  9. 互联网企业数据安全体系建设
  10. JAVA程序设计 雍俊海(学习笔记1)