博客
关于我
洛谷P7472 [NOI Online 2021 入门组] 吃豆人(民间数据)
阅读量:364 次
发布时间:2019-03-04

本文共 2131 字,大约阅读时间需要 7 分钟。

题目


挺恶心的题。

预处理某些边,便于处理某些环的值。注意去除交点重复计算所多出来的值。


代码

注释也懒得打了…

#include
#include
#include
using namespace std;int n, a[1011][1011], f1[1011][1011], f2[1011][1011], ans;int q(int i){ return f2[1][i] + f2[n-i+1][n]+ f1[n][n-i+1] + f1[n-i+1][n] - a[1][i] - a[i][1] - a[n-i+1][n] - a[n][n-i+1];}int cl(int i, int j){ int l = (i+j)/2; int anss = q(i) + q(j) - a[l][l-i+1] - a[n-l+i][n+1-l] - a[l-i+1][l] - a[n+1-l][n-l+i]; return anss; } void work1(){ ans = f1[n][n] + f2[1][n] - a[n/2+1][n/2+1]; //两条对角线 for(int i = 2; i < n; ++i){ //左上到右下 + 其他 if(i % 2 == 0) ans = max(ans, f1[n][n] + q(i)); else ans = max(ans, f1[n][n] + q(i) - a[(i+1)>>1][(i+1)>>1] - a[n-(i>>1)][n-(i>>1)]); } for(int i = 2; i < n; ++i){ //左下到右上 + 其他 if(i % 2 == 0) ans = max(ans, f2[1][n] + q(i)); else ans = max(ans, f2[1][n] + q(i) - a[n-(i+n)/2+1][(i+n)>>1] - a[(i+n)>>1][n-(i+n)/2+1]); } }void work2(){ ans = f1[n][n] + f2[1][n]; //两条对角线 for(int i = 2; i < n; ++i){ //左上到右下 + 其他 if(i % 2 == 0) ans = max(ans, f1[n][n] + q(i)); else ans = max(ans, f1[n][n] + q(i) - a[(i+1)>>1][(i+1)>>1] - a[n-(i>>1)][n-(i>>1)]); } for(int i = 2; i < n; ++i){ //左下到右上 + 其他 if(i % 2 == 1) ans = max(ans, f2[1][n] + q(i)); else ans = max(ans, f2[1][n] + q(i) - a[n-(n+i)/2+1][(n+i)>>1] - a[(n+i)>>1][n-(n+i)/2+1]); } }int main(){ scanf("%d", &n); for(int i = 1; i <= n; ++i) for(int j = 1; j <= n; ++j){ scanf("%d", &a[i][j]); f1[i][j] = f1[i-1][j-1] + a[i][j]; } for(int i = n; i >= 1; --i) for(int j = 1; j <= n; ++j) f2[i][j] = f2[i+1][j-1] + a[i][j]; if(n % 2 == 1) work1(); else work2(); for(int i = 2; i < n; ++i) for(int j = i; j < n; ++j){ if(i!=j){ //其他相互 if(i % 2 != j % 2) ans = max(ans, q(j) + q(i)); else ans = max(ans, cl(i,j)); } ans = max(q(i), ans); } printf("%d", ans);}

转载地址:http://ewug.baihongyu.com/

你可能感兴趣的文章
nginx开机启动脚本
查看>>
nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
查看>>
nginx总结及使用Docker创建nginx教程
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
查看>>
nginx日志分割并定期删除
查看>>
Nginx日志分析系统---ElasticStack(ELK)工作笔记001
查看>>
Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
查看>>
Nginx映射本地静态资源时,浏览器提示跨域问题解决
查看>>
nginx最最最详细教程来了
查看>>
Nginx服务器---正向代理
查看>>
Nginx服务器上安装SSL证书
查看>>
Nginx服务器基本配置
查看>>
Nginx服务器的安装
查看>>
Nginx标准配置文件(包括反向代理、大文件上传、Https证书配置、文件预览等)
查看>>
Nginx模块 ngx_http_limit_conn_module 限制连接数
查看>>
Nginx模块 ngx_http_limit_req_module 限制请求速率
查看>>
nginx添加允许跨域header头
查看>>
nginx添加模块与https支持
查看>>
nginx状态监控
查看>>