noip模拟赛 蒜头君打地鼠
2024-08-25 06:38:39
分析:直接一个一个地去暴力枚举分数比较少,我们需要一种比较快的统计一定空间内1的数量,标准做法是前缀和,但是二维前缀和维护的是一个矩形内的值,这个是旋转过的该怎么办?可以把图旋转45°,不过这样比较考验码力,我们可以考虑维护每一行的前缀和,写得好常数小一点加上读入优化就能A了.
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; long long ans = ,n, m, sum[][]; long long read()
{
long long res = , f = ;
char ch = getchar();
while (ch < '' || ch > '')
if (ch == '-')
{
f = -;
ch = getchar();
}
while (ch >= '' && ch <= '')
{
res = res * + ch - '';
ch = getchar();
}
return res * f;
} int main()
{
n = read();
m = read();
for (int i = ; i <= n; i++)
for (int j = ; j <= n; j++)
{
sum[i][j] = read();
sum[i][j] += sum[i][j - ];
}
for (int i = ; i <= n; i++)
for (int j = ; j <= n; j++)
{
long long maxx = sum[i][min(n, j + m - )] - sum[i][max((long long), j - m)];
for (int k = ; k < m; k++)
{
int l = max(j - m + k,(long long)), r = min(j + m - - k,n);
if (i + k <= n)
maxx += sum[i + k][r] - sum[i + k][l];
if (i - k >= )
maxx += sum[i - k][r] - sum[i - k][l];
}
ans = max(maxx, ans);
}
printf("%lld\n", ans); return ;
}
最新文章
- babel presets stage-x
- Spring与ActiveMQ整合
- font-family styles
- phpinfo有mysqlnd没有mysql
- 容器使用的12条军规——《Effective+STL中文版》试读
- docker kubernetes--
- Visio编辑数据库模型列
- NET
- Nginx安装及配置简介
- php中jsonp的跨域实例
- OI记忆口诀
- Android输入法界面管理(打开/关闭/状态获取)
- WebSocket 简介
- Handshakes(思维) 2016(暴力)
- 【移动开发】Service类onStartCommand()返回值和参数
- jdk各个版本之间的差异
- unity发布的WebGL部署到IIS
- 实际用到的linux小方法
- 调用opencv相关函数,从视频流中提取出图片序列&;&;&;&;jpg图片序列,转化成avi格式视频
- php程序猿面试分享
热门文章
- poj 2409 Let it Bead【polya定理+burnside引理】
- bzoj 1709: [Usaco2007 Oct]Super Paintball超级弹珠【枚举】
- hdu4738(边双连通分量,桥)
- bzoj4720: [Noip2016]换教室(期望dp)
- QRCoder生成二维码
- centos 7 配置php
- ASP.NET SQL 总结(2)
- hbase本地调试环境搭建
- JAVA使用Ldap操作AD域
- Android RecyclerView局部刷新那个坑