当前位置: 首页 > news >正文

打卡信奥刷题(3110)用C++实现信奥题 P7301 [USACO21JAN] Spaced Out S

P7301 [USACO21JAN] Spaced Out S

题目描述

Farmer John 想要拍摄一张他的奶牛吃草的照片挂在墙上。草地可以用一个NNNNNN列正方形方格所组成的方阵表示(想象一个N×NN \times NN×N的棋盘),其中2≤N≤10002 \leq N \leq 10002N1000。在 Farmer John 最近拍摄的照片中,他的奶牛们太过集中于草地上的某个区域。这一次,他想要确保他的奶牛们分散在整个草地上。于是他坚持如下的规则:

  • 没有两头奶牛可以位于同一个方格。
  • 所有2×22 \times 22×2的子矩阵(共有(N−1)×(N−1)(N-1) \times (N-1)(N1)×(N1)个)必须包含恰好 2 头奶牛。

例如,这一放置方式是合法的:

CCC ... CCC

而这一放置方式是不合法的,因为右下的2×22 \times 22×2正方形区域仅包含 1 头奶牛:

C.C .C. C..

没有其他限制。你可以假设 Farmer John 有无限多的奶牛(根据以往的经验,这种假设似乎是正确的……)。

Farmer John 更希望某些方格中包含奶牛。具体地说,他相信如果方格(i,j)(i, j)(i,j)中放有一头奶牛,照片的美丽度会增加aija_{ij}aij0≤aij≤10000 \leq a_{ij} \leq 10000aij1000)单位。

求合法的奶牛放置方式的最大总美丽度。

输入格式

输入的第一行包含NNN。以下NNN行每行包含NNN个整数。从上到下第iii行的第jjj个整数为aija_{ij}aij的值。

输出格式

输出一个整数,为得到的照片的最大美丽度。

输入输出样例 #1

输入 #1

4 3 3 1 1 1 1 3 1 3 3 1 1 1 1 3 3

输出 #1

22

说明/提示

在这个样例中,最大美丽度可以在如下放置方式时达到:

CC.. ..CC CC.. ..CC

这种放置方式的美丽度为3+3+3+1+3+3+3+3=223 + 3 + 3 + 1 + 3 + 3 + 3 + 3 = 223+3+3+1+3+3+3+3=22

测试点性质:

  • 测试点 2-4 满足N≤4N \le 4N4
  • 测试点 5-10 满足N≤10N\le 10N10
  • 测试点 11-20 满足N≤1000N \le 1000N1000

供题:Hankai Zhang,Danny Mittal

C++实现

#include<bits/stdc++.h>usingnamespacestd;constintN=1010,M=10010,INF=0x3f3f3f3f;inlineintMax(intx,inty){returnx>y?x:y;}inlineintMin(intx,inty){returnx<y?x:y;}inlinevoidSwap(int&x,int&y){x^=y^=x^=y;}intn,ans1,ans2,a[N][N];intline_sum(intj,inttype){intres[2]={0,0};for(inti=1;i<=n;i++)res[i&1]+=a[i][j];returnres[type];}introw_sum(inti,inttype){intres[2]={0,0};for(intj=1;j<=n;j++)res[j&1]+=a[i][j];returnres[type];}intmain(){scanf("%d",&n);for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)scanf("%d",&a[i][j]);for(intk=1;k<=n;k++){if(line_sum(k,0)>line_sum(k,1))ans1+=line_sum(k,0);elseans1+=line_sum(k,1);}for(intk=1;k<=n;k++){if(row_sum(k,0)>row_sum(k,1))ans2+=row_sum(k,0);elseans2+=row_sum(k,1);}printf("%d\n",Max(ans1,ans2));return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/639370/

相关文章:

  • WSL2内核更新包官网链接失效了?别慌,这里有两个可靠的备用下载源和安装验证方法
  • LyricsX:让音乐与文字在Mac桌面共舞的Swift插件
  • 告别授权烦恼:3分钟搞定Windows和Office智能激活
  • 番茄小说下载器:跨平台小说内容获取与格式转换的终极解决方案
  • 【2024指南】Lightroom Classic专业修图:从安装到高效工作流
  • 图图的嗨丝造相-Z-Image-Turbo部署教程:Xinference+Gradio一键生成渔网袜风格图
  • Performance Fish:让《环世界》大型殖民地流畅运行的终极性能优化方案
  • 如何免费快速获取网易云QQ音乐歌词?163MusicLyrics终极解决方案
  • 如何快速搭建企业级工作流系统:RuoYi-Flowable-Plus终极指南
  • Qwen3-ForcedAligner模型解析:深入理解强制对齐技术
  • Layui TableSelect 数据表格下拉框的实战应用与条件查询优化
  • Navicat重置工具终极指南:macOS环境下无限试用Navicat Premium的完整解决方案
  • ExtractorSharp终极指南:3步掌握游戏资源编辑神器
  • 团子带你玩转SAP PS:巧用统计关键指标(SKF)优化项目成本分摊策略
  • nlp_gte_sentence-embedding_chinese-large与卷积神经网络的联合文本分类方案
  • 忍者像素绘卷:天界画坊在WSL中的开发与部署全攻略
  • LHM模型对比分析:MINI、500M、1B版本如何选择
  • StaticGen完全指南:揭秘600+开源静态站点生成器排行榜
  • LeetCode 3719. 最长平衡子数组 解题详解(Python)
  • Phi-4-mini-reasoning模型效果展示:自动化代码审查与漏洞推理
  • 开源许可证(License)详解:MIT、GPL、Apache该如何选择?
  • SARscape实战:如何利用DInSAR技术监测地表微小形变(附Sentinel-1数据处理技巧)
  • Window Resizer终极指南:如何强制调整任何Windows窗口大小的完整解决方案
  • 不只是参数翻译:用‘单位换算’和‘参考系统’思维,重新理解倍福NC编码器设置
  • 瑞萨RZN2L开发环境搭建全攻略:从e2studio安装到Hello World输出
  • 避坑指南:UniApp调用原生NFC读写时,那些Android权限与Activity生命周期的坑
  • 【AIAgent鲁棒性生死线】:为什么你的Agent在真实环境准确率暴跌62%?不确定性补偿机制缺失是主因
  • 抖音音频提取神器:3步完成专业级背景音乐采集,效率提升94%
  • League Akari:基于LCU API的英雄联盟智能工具集深度解析
  • 基于TR-FRET技术的CRBN配体筛选在蛋白质降解剂研发中的应用