首页 > 其他分享 >CF1864D 题解

CF1864D 题解

时间:2023-11-24 12:11:06浏览次数:39  
标签:CF1864D int 题解 3005 ans 前缀

我们注意到对如图倒三角形上的所有点操作都会影响到目标点。

那么我们可以维护两个前缀和,第一个前缀和表示如下的点是否操作

第二个前缀和表示这些点是否操作

这样我们求出了前缀和之后,将两个前缀和异或一下就知道该点是否要操作了。

#include<bits/stdc++.h>
using namespace std;
int t,n,b[2][3005],c[2][3005],ans;
char a[3005][3005];
int main(){
	cin>>t;
	while(t--){
		cin>>n;
		ans=0;
		for(int i=1;i<=n;i++)cin>>(a[i]+1);
		for(int j=0;j<=n+1;j++)b[0][j]=b[1][j]=c[0][j]=c[1][j]=0;
		for(int i=1;i<=n;i++){
			int sum=0;
			for(int j=1;j<=n;j++){
				b[1][j]=b[0][j+1]^sum;
				c[1][j]=c[0][j-1]^sum;
				int nowans=b[1][j]^c[1][j-1];
				if(nowans^(a[i][j]-'0'))ans++,sum^=1,b[1][j]^=1,c[1][j]^=1;
			}
			b[1][n+1]=b[1][n];
			for(int j=1;j<=n+1;j++)b[0][j]=b[1][j],c[0][j]=c[1][j];
		}
		cout<<ans<<"\n";
	}
	return 0;
}

标签:CF1864D,int,题解,3005,ans,前缀
From: https://www.cnblogs.com/DerrickLo/p/17853459.html

相关文章

  • apache ftpserver服务器安装及服务启动问题解决
     在安装apacheftpserver后作为系统服务启动时遇到不能启动成功的问题,在网上各种搜索,发现很多人也遇到了同样的问题,折腾了1天,尝试了添加dll动态链接库、tomcat.exe替换ftpd.exe等还是没搞定。最后查看服务安装脚本service.bat,发现问题所在,现记录下过程中遇到的坑,分享出来参考,避......
  • Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
    1、需求使用Vue+ElementUI实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面。2、实现1)列表页index.vue<el-table><!--其他列--><el-table-columnlabel="操作"width="150"><templateslot-s......
  • Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
    1、需求使用Vue+ElementUI实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面。2、实现1)列表页index.vue<el-table><!--其他列--><el-table-columnlabel="操作"width="150"><templateslot-scope=......
  • centos7下开机磁盘报错不能进去liunx系统问题解决
    报错如下: centos7开机可以看到xfs(dm-0)磁盘报错,只有centos7自带修复磁盘,命令进行修复。xfs_repair-v-L/dev/dm-0然后等待输出done字样,代表修复完成。如果执行上条命令报错,可以先卸载找执行修复。 umount-l/dev/sda2然后执行修复,之后重启服务器。然后输入reboo......
  • 电脑网站支付报错“验签出错,建议检查签名字符串或私钥与应用公钥是否匹配”问题解决记
    在对接支付宝电脑网站支付的时候,遇到如下报错:“错误代码invalid-signature错误原因:验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配”。但展示的报错内容跟实际原因有所出入(在下文中有解答),这里记录下问题的解决排查过程。问题复现在对接电脑网站支付时,生成form表单......
  • 题解 NOIP2021 方差
    原题我认为这道题非常困难码量并不大可是需要很多次思维跳跃题意题意概述:给定非严格递增序列\(a_{n}\)可以进行若干次操作,求序列方差的最小值的\(n^2\)倍方差的定义为\(D=\frac{1}{n}\sum_{i=1}^{n}{(a_i-\bara)}^2\),其中\(\bara=\frac{1}{n}\sum_{i=1}......
  • VS 调试 提示 Lc.exe已退出 代码为-1问题解决方法
    找到程序项目下Properties文件夹licenses.licx文件,然后右键选择删除就可以了,调试运行正常了 https://jingyan.baidu.com/article/b24f6c822592b686bfe5daac.html......
  • ARC168(A-C)题解
    比赛链接:arc168A题意:读入一个由<和>构成的字符串,在最开始,最后,字符之间可以填上任意数字,任意两个相邻数字之间必须满足字符代表的大小关系。求问最后填入的数字组成的数组最少有多少对逆序对。题解:签到。<可以不去考虑,因为不会对答案造成影响。>如果不是在连续段内,也可以不......
  • [Codeforces] CF1475C Ball in Berland 题解
    BallinBerland-洛谷题意在毕业典礼上,有​个男孩和​个女孩准备跳舞,不是所有的男孩和女孩都准备结伴跳舞。现在你知道​个可能的舞伴,你需要选择其中的两对,以便使没有人重复地出现在舞伴里,求可能的数量。思路暴力最朴素,也是简单的方法,就是通过暴力组合进行配对。#include......
  • 【题解】HD2016.X1,HD2016.X3,HD2016.X4,HD2016.X5
    [HD2016.X1]价钱统计题目描述夏天到了,超市里摆满了各种各样的应季水果。现在知道:西瓜的价钱是每斤1.2元;桃子的价钱是每斤3.5元;葡萄的价钱是每斤4.5元;苹果的价钱是每斤5元。现在分别给出上述四种所购买的斤数(均不超过20),请你编写程序帮助售货员阿姨计算并依次输出顾客......