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

AcWing 6135. 奶牛体检

将l ~ r之间的数翻转,求l ~ r 的所有可能,统计l ~ r 之间满足条件的数的数量,

每次从i为中心往两边拓展两个数,统计这两个数的影响,可以省去一重循环(统计符合要求的数量)

0 ~ 1表示的是奇数和偶数,比如说0 2 4 6 8 和1 3 5 7 9 这样每次加二也可以枚举所有的区间数

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 7510;

int n, a[N], b[N];
int ans[N];

int main()
{
	cin >> n;
	for(int i = 0;i < n;i ++ ) cin >> a[i];
	for(int i = 0;i < n;i ++ ) cin >> b[i];
	
	int cnt = 0;
	for(int i = 0;i < n;i ++ )
		if(a[i] == b[i])
			cnt ++ ;
	
	for(int i = 0;i < n;i ++ )
		for(int j = 0;j < 2;j ++ )//奇偶两种可能
		{
			int sum = cnt;
			for(int l = i, r = i + j;l >= 0 && r < n;l --, r ++ )
			{
				if(a[l] == b[l]) sum --;//没有被翻转
				if(a[r] == b[r]) sum --;
				if(a[l] == b[r]) sum ++;//翻转之后
				if(a[r] == b[l]) sum ++;
				
				ans[sum] ++;
			}
		}
    
	for(int i = 0;i <= n;i ++ )
	printf("%d\n", ans[i]);
	
	return 0;
}

http://www.dtcms.com/a/112078.html

相关文章:

  • 【Java集合】LinkedList源码深度分析
  • Nature Electronics|一种透气、可拉伸的液态金属基3D电子皮肤系统(健康监测/可穿戴电子/透汗透气性电子/电子皮肤/柔性电子/集成电路)
  • 降维算法之PCA(主成分分析)
  • 函数和模式化——python
  • 文件系统-重定向
  • 架构思维:冷热分离 - 表数据量大读写缓慢的优化方案
  • 有没有可以帮助理解高数的视频或者书籍资料?
  • 【力扣hot100题】(050)岛屿数量
  • 消息队列之-Kafka
  • #Linux内存管理# 在ARM32bit Linux中,高端内存的起始地址是如计算出来的?
  • 思二勋:未来所有的业务都将生于AI、长于AI、成于AI
  • 搜索二维矩阵
  • 笔记:代码随想录算法训练营day65:dijkstra(堆优化版)精讲、Bellman_ford 算法精讲
  • Docker安装、配置Redis
  • 使用Expo框架开发APP——详细教程
  • 【JavaScript】原型链 prototype 和 this 关键字的练习(老虎机)
  • 安当TDE透明加密:构建跨地域文件服务器安全传输的“双重保险“
  • VBA中类的解读及应用第二十二讲:利用类判断任意单元格的类型-5
  • C语言:3.31
  • 【YOLO系列(V5-V12)通用数据集-火灾烟雾检测数据集】
  • 大模型学习四:‌DeepSeek Janus-Pro 多模态理解和生成模型 本地部署指南(折腾版)
  • 七均线策略思路
  • Mac VM 卸载 win10 安装win7系统
  • Win7下安装高版本node.js 16.3.0 以及webpack插件的构建
  • Apache Camel指南-第四章:路由径构建之异常处理
  • 如何使用 IntelliJ IDEA 开发命令行程序(或 Swing 程序)并手动管理依赖(不使用 pom.xml)
  • 从飞机的状态矩阵A阵求运动模态的特征根、求传递函数矩阵
  • NOIP2013提高组.华容道
  • 从菜鸟到高手的提示词优化指南‌
  • Muduo网络库介绍