news 2026/8/22 2:58:20

ABC331D Tile Pattern

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ABC331D Tile Pattern

原题

题目描述

有一个 10^9 乘 10^9的方格网格。让 (i,j)表示从上往下数第 (i+1)行、从左往右数第 (j+1) 列的方格

每个方格要么是黑色要么是白色。方格 (i,j)的颜色由字符 P[i mod N][j mod N]表示,其中B表示黑色,W表示白色。这里,a mod b表示a除以b的余数。

回答 Q个查询。

每个查询给出四个整数 A,B,C,D要求你找出以 (A,B)为左上角、(C,D)为右下角的矩形区域内包含的黑色方格数量。

题目思路

令f(x,y)为满足条件的黑色方格的个数,则所求的答案就是f(c+1,d+1)-f(a,d+1)-f(c+1,b)+f(a,b)。但是如直接计算肯定比较麻烦,可以利用他的一些性质。当x=8,y=7时,如右图所示,可以将其分解为A*(x/n)*(y/n)、B*(y/n)、C*(x/n),D。其中A=f(n,n),B=f(x%n,n),C=f(y%n,n),D=f(x%n,y%n)。即可以将其分解为f(n,n)*(x/n)*(y/n) + (y/n)*f(x%n,n) + (x/n)*f(n,y%n) + f(x%n,y%n)。最后f(1,1)~f(n,n)可以使用前缀和的方式快速求出。

#include<bits/stdc++.h> using namespace std; using LL=long long;//给long long去个别名LL const int N=1010; int n,q,h[N][N]; LL f(LL x,LL y){ if(x<=n&&y<=n){ return h[x][y]; } return f(n,n)*(x/n)*(y/n)+(x/n)*f(n,y%n)+(y/n)*f(x%n,n)+f(x%n,y%n); } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>q; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ char c; cin>>c; h[i][j]=(c=='B')+h[i-1][j]+h[i][j-1]-h[i-1][j-1]; } } //前缀和优化↑ while(q--){//处理q次查询 int a,b,c,d; cin>>a>>b>>c>>d; c++; d++; cout<<f(c,d)-f(a,d)-f(c,b)+f(a,b)<<"\n"; } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 22:15:23

HFI方波高频注入与ESMO增强滑膜代码开发文档

高频注入代码 增强滑膜esmo代码 HFI方波高频注入&#xff0c;提 高频注入代码 增强滑膜esmo代码 HFI方波高频注入&#xff0c;提供HFI和esmo详细开发文档。高频注入这玩意儿在无感电机控制里算是老熟人了&#xff0c;尤其是方波注入方案&#xff0c;实测抗噪声能力比正弦波方案…

作者头像 李华
网站建设 2026/8/21 23:43:35

Pandas实用文档

Pandas 是一个基于 Python 的数据处理与分析库&#xff0c;主要用于处理结构化数据&#xff0c;例如 Excel 表格、CSV 文件、JSON数据等。 该库提供了高效且易于使用的数据结构&#xff0c;如 DataFrame 和 Series&#xff0c;能够支持数据的读取、清洗、整理、统计与存储等操…

作者头像 李华
网站建设 2026/8/21 22:58:27

基于Java的安全生产监察执法智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ?安全生产监察执法智慧管理系统集成了多种功能模块&#xff0c;如企业管理、培训管理、检查管理等。系统创新性地将各类信息数字化处理和实时监控纳入统一平台&#xff0c;不仅提升了工作效率与数据准确性&#xff0c;还增强了监管力度及应急…

作者头像 李华
网站建设 2026/8/21 15:21:01

构建一个LangChain RAG应用

构建一个LangChain RAG应用01. 外挂知识库的聊天机器人架构在 RAG 应用中&#xff0c;会通过外部的检索器/知识库检索人类的提问&#xff0c;然后将检索到的信息填充到提示模板中&#xff0c;一起传递给大语言模型&#xff0c;让其生成特定的内容&#xff0c;无论 RAG 应用有多…

作者头像 李华