D. Matrix Cascade

news2024/11/24 12:57:35

Problem - D - Codeforces

思路:这个题就是要维护每个位置被修改了几次,但是一直没想到一个好的方法,一直在关注这个点对下面的点产生的影响,但是其实我们可以维护这个点能够由那几个点影响,其实就是一个以x,y为下顶点的倒三角形

能够对这个点产生影响的其实就是这个倒三角形,并且这个倒三角形是可以递推的,当前这个点被翻转的次数是,sum[i-1][j]+l[i-1][j-1]+r[i-1][j+1]

其实就是它上一层的倒三角形+左右两条直线的

// Problem: D. Matrix Cascade
// Contest: Codeforces - Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2)
// URL: https://codeforces.com/contest/1864/problem/D
// Memory Limit: 512 MB
// Time Limit: 2000 ms

#include<bits/stdc++.h>
#include<sstream>
#include<cassert>
#define fi first
#define se second
#define i128 __int128
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
const double eps=1e-7;
const int N=5e5+7 ,M=5e5+7, INF=0x3f3f3f3f,mod=1e9+7,mod1=998244353;
const long long int llINF=0x3f3f3f3f3f3f3f3f;
inline ll read() {ll x=0,f=1;char c=getchar();while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9') {x=(ll)x*10+c-'0';c=getchar();} return x*f;}
inline void write(ll x) {if(x < 0) {putchar('-'); x = -x;}if(x >= 10) write(x / 10);putchar(x % 10 + '0');}
inline void write(ll x,char ch) {write(x);putchar(ch);}
void stin() {freopen("in_put.txt","r",stdin);freopen("my_out_put.txt","w",stdout);}
bool cmp0(int a,int b) {return a>b;}
template<typename T> T gcd(T a,T b) {return b==0?a:gcd(b,a%b);}
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
void hack() {printf("\n----------------------------------\n");}

int T,hackT;
int n,m,k;
char str[3010][3010];
int l[3010][3010];
int r[3010][3010];
int sum[3010][3010];

void solve() {
	n=read();
	
	for(int i=1;i<=n;i++) scanf("%s",str[i]+1);
	
	for(int i=1;i<=n+4;i++) {
		for(int j=1;j<=n+4;j++) {
			sum[i][j]=l[i][j]=r[i][j]=0;
		}
	}
	
	int res=0;
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=n;j++) {
			int temp=sum[i-1][j]+l[i-1][j-1]+r[i-1][j+1];
			if(temp%2==1) str[i][j]=((str[i][j]-'0')^1)+'0';
			
			if(str[i][j]=='1') {
				res++;
				sum[i][j]=temp+1;
				l[i][j]=l[i-1][j-1]+1;
				r[i][j]=r[i-1][j+1]+1;
			} else {
				sum[i][j]=temp;
				l[i][j]=l[i-1][j-1];
				r[i][j]=r[i-1][j+1];
			}
		}
	}	
	
	printf("%d\n",res);
}   

int main() {
    // init();
    // stin();
	// ios::sync_with_stdio(false); 

    scanf("%d",&T);
    // T=1; 
    while(T--) hackT++,solve();
    
    return 0;       
}          

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/994965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何把glb格式模型gltf格式模型导入3dmax和C4D,U3D,UE4这些主流软件中

咱有时候去glbxz.com添加链接描述 官网下载免费glb格式模型&#xff0c;gltf模型下载时候是没有通用格式&#xff0c;例如fbx&#xff0c;obj&#xff0c;这个时候3dmax和C4D直接打开导入是不行的&#xff0c;也可以制作glb模型&#xff0c;扣扣&#xff1a;424081801 这个时候…

扫地僧万能HTML模板站群【搜狗站群单站模式内页收录】配置教程

浅测【搜狗内页收录较好】可自行进行测试对比 [测试的域名有搜狗蜘蛛&#xff0c;但是不收录] [一换程序嘎嘎乱叫] [测试的为内页收录&#xff0c;非泛站] [泛站容易被端&#xff0c;搜狗不建议泛站] 第一步配置SEO设置如图&#xff1a; 站群模式&#xff1a;单站 泛站…

网络延迟简介:为什么它重要,如何测量

1、什么是延迟呢? 延迟其实就是我们在网页浏览或者使用应用时,从我们点击请求到服务器返回结果给我们之间的时间差。就像你在跟朋友打电话,你说完话后,朋友听到并回应你所说话的时间差一样。 我们的最终目标是创建一个系统,让这个时间差变得尽可能短,也就是实现零延迟。…

使用Mybatis实现基本的增删改查------数据输出

需要和批量注入一起使用 当sql返回的实体类在java中没有的时候,可以使用map接值 开启自动事务提交openSession(true),事务在最后会进行自动提交 //3.获取Sqlsession对象[自动开启JDBC]//会自动开启事务,不会自动提交事务.但是提交事务需要sqlsession.commit()方法//openSession…

【C++】day2学习成果:引用、结构体等等。。。

1.封装一个结构体&#xff0c;结构体中包含一个私有数组&#xff0c;用来存放学生的成绩&#xff0c;包含一个私有变量&#xff0c;用来记录学生个数&#xff0c; 提供一个公有成员函数&#xff0c;void setNum(int num)用于设置学生个数 提供一个公有成员函数&#xff1a;void…

Python进阶语法之推导式

目录 目录 前言 思维导图 1.普通写法 1.1代码解读 1.2,结果展示 2.列表推导式 2.1,重要 2.2,列表推导式初步写法 2.2.1,代码解读 2.2.2,结果展示 2.3,列表表达式之条件判断式 2.3.1,代码解读 2.3.2,结果展示 2.4,进行两层for循环 2.4.1,代码解读 2.4.2,结…

【PowerQuery】Excel 的自动刷新功能-最低一分钟刷新

在Excel集成了PowerQuery之后,它提供了数据的手动刷新功能之外,也提供了数据的自动刷新功能。需要注意的是,PowerQuery提供的自动刷新功能是针对连接的,也就是说在PowerQuery自动刷新功能不是全局刷新功能,而是针对连接本身提供。接下来我们来看一下如何实现PowerQuery连接…

Python绘图——生存曲线

今天我们将一起学习如何利用Python中____lifelines包_____建模和分析生存数据并用plot_绘制生存曲线&#xff0c;以及更改其样式如标题字号大小&#xff0c;坐标轴及图例设置等&#xff0c;使用Python即可绘制出SCI论文图&#xff01;___” lifelines包 lifelines 是一个 Pyt…

猫头虎的技术笔记:Spring Boot启动报错解决方案

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

算法竞赛个人注意事项

浅浅记录一下自己在算法竞赛中的注意事项。 数据类 注意看数大小&#xff0c;数学库中的函数尽量加上 * 1.0&#xff0c;转成double&#xff0c;防止整型溢出。&#xff0c;int型相乘如果可能溢出&#xff0c;乘 * 1LL。 数据范围大于1e6&#xff0c;注意用快读。 浮点数输…

桉木建筑模板与其他常见建筑模板材料相比有什么优势?

桉木建筑模板与其他常见建筑模板材料相比具有以下优势&#xff1a; 1. 强度和稳定性&#xff1a;桉木具有较高的密度和硬度&#xff0c;使其具备出色的抗弯和抗压能力。相比于其他常见建筑模板材料如胶合板或钢模板&#xff0c;桉木建筑模板能够更好地承受施工期间的荷载和压力…

类和对象的基本概念

目录 c和c中结构体的区别 类的封装 c语言中的行为和属性封装存在的问题 c中对事物的封装——类的封装 尽量将成员变量设置为private 代码示例 c和c中结构体的区别 c语言中struct只有变量,不能存放函数&#xff0c;也就是数据&#xff08;属性&#xff09;和行为&#xf…

学信息系统项目管理师第4版系列06_项目管理概论

1. 项目基础 1.1. 项目是为创造独特的产品、服务或成果而进行的临时性工作 1.1.1. 独特的产品、服务或成果 1.1.2. 临时性工作 1.1.2.1. 项目有明确的起点和终点 1.1.2.2. 不一定意味着项目的持续时间短 1.1.2.3. 临时性是项目的特点&#xff0c;不是项目目标的特点 1.1…

什么是 DNS 隧道以及如何检测和防止攻击

什么是 DNS 隧道&#xff1f; DNS 隧道是一种DNS 攻击技术&#xff0c;涉及在 DNS 查询和响应中对其他协议或程序的信息进行编码。DNS 隧道通常具有可以锁定目标 DNS 服务器的数据有效负载&#xff0c;允许攻击者管理应用程序和远程服务器。 DNS 隧道往往依赖于受感染系统的…

记一起小意外事件引起的批量重命名文件名

一、事件描述 某次,因某业务系统迁移,一线人员对业务目录误操作,执行打包命令过程中导致Tomcat下的web应用程序无法使用,检查后发现项目下所有文件名都加了gz格式;询问一线,发现是对项目目录执行了:gzip -r ./tomcat导致程序文件找不到;报错如下: 二、事件处理 1、查看…

联表查询的时候外键id是字符串

联表查询的时候外键id是字符串 例&#xff1a; 第一种&#xff1a;可以使用&#xff1a;FIND_IN_SET 关键字进行查询&#xff08;推荐&#xff09; SELECTt.task_name,t.task_id,t.common_ids,t.task_description,t.task_type,t.task_state,t.task_start_time,t.task_end_tim…

算法-88.合并两个有序数组-⭐

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&#xff0c;合并后数组…

在Qt5中SQLite3的使用

一、SQLite简要介绍 什么是SQLite SQLite是一个进程内的库&#xff0c;实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库&#xff0c;这意味着与其他数据库不一样&#xff0c;您不需要在系统中配置。 就像其他数据库&#xff0c;S…

【AI】机器学习——感知机

文章目录 4.1 感知机基本概念4.2 策略4.2.1 数据集的线性可分性4.2.2 学习策略目标损失函数的构造关于距离的解释 4.3 算法4.3.1 原始形式损失函数的梯度下降法 4.3.2 PLA例题4.3.3 算法收敛性 4.4 PLA对偶形式4.4.1 原始PLA分析4.4.2 PLA对偶形式4.4.3 优点 4.1 感知机基本概念…

理财是什么?怎样学习理财?

大家好&#xff0c;我是财富智星&#xff0c;今天跟大家分享一下理财是什么&#xff1f;怎样学习理财的方法。 一、理财的基本原则 1、理财应注重投资而不是投机&#xff0c;要与时间为友。 让我们先考虑以下问题&#xff1a;什么样的回报才算是真正的高回报&#xff1f;假设有…