矩形对角线问题
将一个长为m宽为n的矩形划分成 m * n 个单元格作一条对角线标记该对角线与单元格的交点,有如下结论单条对角线经过的单元格数量为 m n - gcd(m,n)从 (0,0) 到 (m,n) 的直线在单位格中经过的格点包括端点数量是 gcd(m,n) 1如果只算内部格点就是 gcd(m,n) - 1单条对角线的交点数|S1| m n 1 - gcd(m,n) 两条对角线共同的交点数:2*(a b - gcd(a,b) - 1) - (a%20 || b%20 ? 1 : 0)。1.单条对角线经过的单元格数量为mn-gcd(m,n)1若m和n互为质数即gcd(m,n)1此时对角线与矩形只有两个端点在格点上内部没有位于格点的交点。ps:当横向交点与纵向交点重合时重复计算交点需减去。可知横向有m1个交点蓝色紫色纵向有n1个交点粉色紫色两个端点各被水平和竖直边界重复计算一次紫色所以要减去2共有(m1)(n1)-2mn个交点mn个交点将对角线分成mn-1段每段经过1个单元格共经过mn-1个单元格。2当m和n不互质时令d为二者的最大公约数即gcd(m,n)d, 此时m/d和n/d互质。取长m/d、宽n/d的小矩形此时由1可知对角线经过m/dn/d-1个单元格,大矩形共经过d*(m/dn/d-1)mn-gcd(m,n)个单元格。2.从 (0,0) 到 (m,n) 的直线经过的格点包括端点数量是 gcd(m,n) 1内部格点数是 gcd(m,n) - 1令gcd(m,n) dmn), 则m是n的d倍x 和 y n * x (0xd,x取整) 均为整数此时x,y)在格点上。因此包括端点的格点数为gcd(m,n) 1,内部格点数为gcd(m,n)-1。3.单条对角线的交点数|S1| m n 1 - gcd(m,n)|S1| 垂直线数 水平线数 - 顶点数。由2可知|S1| (m 1) (n 1) - (gcd(m,n) 1) m n 1 - gcd(m,n)。4.两条对角线共同的交点数:2*(a b - gcd(a,b) - 1) - (a%20 || b%20 ? 1 : 0)两条对角线唯一的交点是矩形墙壁的中心点。只有当这个中心点恰好落在某条网格线上时它才会被我们计入 |S1| 和 |S2|。墙壁的中心点坐标可以表示为 (m/2,n/2)。每条对角线内部交点数为 m n - gcd(m,n) - 1两条合计2*(m n - gcd(m,n) - 1)如果 m 和 n 有一个是偶数中心点就会落在网格线上并被重复计算所以要减 1。因此答案 2*(m n - gcd(m,n) - 1) - (m%20 || n%20 ? 1 : 0)。练习墙壁划线容斥原理

相关新闻

Agent Skills开发指南:Python与TypeScript生态实践

Agent Skills开发指南:Python与TypeScript生态实践

1. Agent Skills生态全景概览在当今开源生态系统中,Agent Skills正成为开发者工具箱中不可或缺的组成部分。这些技能仓库为开发者提供了即插即用的功能模块,大幅降低了构建智能代理系统的门槛。GitHub作为全球最大的代码托管平台,汇聚了最活跃…

2026/7/23 8:58:14 阅读更多 →
Cursor错误日志无法关联Git blame?破解VS Code DevTools与Cursor Runtime日志时序对齐难题(含TS类型守卫自动注入脚本)

Cursor错误日志无法关联Git blame?破解VS Code DevTools与Cursor Runtime日志时序对齐难题(含TS类型守卫自动注入脚本)

更多请点击: https://codechina.net 第一章:Cursor错误日志系统的架构本质与设计契约 Cursor 错误日志系统并非传统意义上的中心化日志收集器,而是一个面向开发会话(dev-session)的上下文感知型诊断基础设施。其架构本…

2026/7/23 7:19:46 阅读更多 →
API 中转服务怎么测:OpenAI SDK 兼容性、流式输出与错误排查

API 中转服务怎么测:OpenAI SDK 兼容性、流式输出与错误排查

很多开发者第一次选择 API 中转服务时,最先比较的是价格和模型数量。但真正接入项目后,影响使用体验的往往是另外几件事:OpenAI SDK 是否兼容、流式输出会不会中断、错误码是否清楚,以及出现故障后能不能快速定位。 本文不做“哪家…

2026/7/23 6:56:50 阅读更多 →

最新新闻

数字人口型同步不是调参游戏!真正决定商业落地的3个硬件感知阈值与2个不可绕过的物理延迟硬边界

数字人口型同步不是调参游戏!真正决定商业落地的3个硬件感知阈值与2个不可绕过的物理延迟硬边界

更多请点击: https://kaifayun.com 第一章:数字人口型同步不是调参游戏!真正决定商业落地的3个硬件感知阈值与2个不可绕过的物理延迟硬边界 数字人口型同步(Digital Population Synchronization)并非传统意义上的参数…

2026/7/23 16:56:00 阅读更多 →
我的Linux学习方法:不会就问AI,动手熟能生巧

我的Linux学习方法:不会就问AI,动手熟能生巧

文章目录我的方法:不懂就问,熟能生巧Linux学习第一步:认识你的系统这个系统几个关键点装好系统先做三件事Linux 学习第二步:常用命令动手练课前前提任务 0:先把常用工具补齐(之前已经执行过了,再…

2026/7/23 16:56:00 阅读更多 →
【飞书AI自动化流程黄金标准】:基于27家客户落地数据验证的12项必检指标清单

【飞书AI自动化流程黄金标准】:基于27家客户落地数据验证的12项必检指标清单

更多请点击: https://codechina.net 第一章:飞书AI自动化流程黄金标准的定义与演进逻辑 飞书AI自动化流程黄金标准,是指在飞书开放平台生态下,以稳定性、可复用性、可观测性与安全合规为四大核心支柱,构建端到端AI驱动…

2026/7/23 16:56:00 阅读更多 →
别只盯一个模型!GPT-5.6、Claude 4.8 Opus、Gemini 3.5多模型协同实战指南

别只盯一个模型!GPT-5.6、Claude 4.8 Opus、Gemini 3.5多模型协同实战指南

别只盯一个模型!GPT-5.6、Claude 4.8 Opus、Gemini 3.5多模型协同实战指南真正的效率高手,懂得根据任务调度最合适的工具,而非死守一家。【摘要】 在AI大模型百花齐放的今天,很多开发者依然陷入"选择困难症"&#xff1a…

2026/7/23 16:56:00 阅读更多 →
可灵AI知识库冷启动困局破解:从0构建高质量向量库的4步黄金流程,含RAG评估指标SOP(仅开放72小时)

可灵AI知识库冷启动困局破解:从0构建高质量向量库的4步黄金流程,含RAG评估指标SOP(仅开放72小时)

更多请点击: https://kaifayun.com 第一章:可灵AI知识库冷启动困局破解:从0构建高质量向量库的4步黄金流程,含RAG评估指标SOP(仅开放72小时) 冷启动阶段常因原始文档噪声高、语义粒度粗、嵌入分布稀疏&…

2026/7/23 16:56:00 阅读更多 →
Gamma响应延迟突增?资深SRE教你用Telemetry日志+火焰图精准定位性能瓶颈

Gamma响应延迟突增?资深SRE教你用Telemetry日志+火焰图精准定位性能瓶颈

更多请点击: https://intelliparadigm.com 第一章:Gamma响应延迟突增问题的典型表现与影响评估 Gamma响应延迟突增通常表现为图像处理链路中色调映射模块在帧间突发性延迟升高,导致视觉输出出现可感知的卡顿、色彩断层或亮度跳变。该问题在H…

2026/7/23 16:54:59 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻