C. Insert Zero and Invert Prefix - 构造+思维

news2024/11/24 2:40:29

 

 分析:

        数组b的最后一个元素永远不可能使1,因为即使在最后一个位置操作,也只会把前n-1个元素反转,最后一个元素只能为0.然后可以发现只要a[i]==0就可以直接输出0,当a[i]==1时一连串的1只需要最后一个1的位置改变成1的字串长度即可,在这之前的1都是0。

代码:

#include <bits/stdc++.h>

#define x first
#define y second

using namespace std;

typedef long long ll;
typedef pair<int,int> pii;

int main()
{
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	
	int _;
	cin>>_;
	while(_--)
	{
		int n;
		cin>>n;
		vector<int> a(n+10);
		for(int i=0;i<n;i++) cin>>a[i];
		vector<int> b;
		if(a[n-1]==1)
		{
			cout<<"NO"<<'\n';
			continue;
		}
		cout<<"YES"<<'\n';
		int sum=0;
		for(int i=n-1;i>=0;i--)
		{
			if(a[i]==0)
			{
				cout<<0<<' ';
				sum=0;
			}
			else
			{
				sum++;
				if(!i) cout<<sum<<' ';
				else
				{
					if(a[i-1]==1) cout<<0<<' ';
					else cout<<sum<<' ';
				}
			}
		}
		cout<<'\n';
	}
}

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

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

相关文章

微信小程序基础语法

微信小程序 文章目录 微信小程序[toc]一、初识微信小程序1.什么是微信小程序2.小程序可以做什么3.小程序与普通网页开发的区别 二、开发准备1.注册小程序开发账号2.安装开发者工具3.登陆我们的开发者工具 三、小程序构成1.小程序的基本组成结构2.小程序的页面组成结构3.小程序组…

OSI(开放系统互连参考模型)知识点详细介绍!!

开放系统互连参考模型分七层&#xff0c;从低到高是物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;传输层&#xff0c;会话层&#xff0c;表示层和应用层 一.物理层&#xff08;Physical Layer&#xff09; 物理层位于 OSI/RM 参考模型的最底层&#xff0c;为数…

6.18、Java初级异常

1. 异常概述 1.1 什么是生活的异常 男主角小明每天开车上班&#xff0c;正常车程 1 小时。但是&#xff0c;可能会出现意外&#xff0c;出现意外&#xff0c;即为异常情况。我们会做相应的处理。如果不处理&#xff0c;到不了公司。 处理完了&#xff0c;就可以正常开车去公司…

浪涌保护器的标准和应用领域综合方案

浪涌保护器是一种用于防止电力系统或电子设备受到雷击或其他暂态过电压的损坏的装置。根据国家标准GB/T 18802.11-20201&#xff0c;低压电涌保护器 (SPD) 应符合IEC 61643-11:2011的性能要求和试验方法。浪涌保护器的产品参数包括&#xff1a;额定工作电压、最大连续工作电压、…

【kubernetes系列】kubernetes之kube-proxy的工作模式

概述 从kubernetes最早开始&#xff0c;kube-proxy到现在总共支持三种模式&#xff0c;在v1.8之前我们使用的是iptables 以及 userspace两种模式&#xff0c;iptables 模式从 v1.2 版本开始引入并作为kube-proxy 默认的操作模式。在kubernetes 1.8之后引入了ipvs模式&#xff…

!!!已解决: Linux操作系统登录,输入正确账号密码显示却显示:Sorry, that didn‘t work. Please try again.

&#xff01;&#xff01;&#xff01;已解决&#xff1a; Linux操作系统登录&#xff0c;明明输入密码正确却显示&#xff1a;Sorry, that didn’t work. Please try again. 先给大家复现一下我的问题&#xff1a; 为什么出现这个问题&#xff1f;&#xff1f;&#xff1f; …

知识梳理for CDGA/CDGP——第九章 ​文件和内容管理

第九章在CDGA分值占比较少&#xff0c;CDGP不考核&#xff0c;主要考点包括&#xff1a;定义、目标、原则、活动、工具、度量指标等基本概念、记住精心管理档案特点、GARP原则等。因此本章建议不需要花大量时间研究&#xff0c;熟悉历史真题&#xff0c;聚焦关键考点即可&#…

Leetcode-每日一题【1290. 二进制链表转整数】

题目 给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1&#xff1a; 输入&#xff1a;head [1,0,1]输出&#xff1a;5解释&#xff1a;二进制数 (101) 转化为…

没有BuildConfig

Android Gradle 插件8.0.0&#xff08;2023年4月&#xff09; 刚刚发现&#xff0c;新创建的一个Android项目&#xff0c;成功运行到手机上了&#xff0c;然后在代码中想使用一下BuildConfig这个类&#xff0c;发现没有&#xff0c;按以前的经验&#xff0c;项目刚创建时Build…

优雅码住!ChatGPT的五大开源替代方案

自去年11月发布以来&#xff0c;ChatGPT吸引了全球各行业人士的注意力和想象力。人们将它用于各种任务和应用程序&#xff0c;而且它有可能改变流行的应用程序并创建新的应用程序。 但ChatGPT也引发了微软和谷歌等科技巨头之间的人工智能竞赛&#xff0c;使得该行业在大型语言模…

Docker服务编排之Docker Compose的使用

Docker服务编排 概念&#xff1a;按照一定的业务规则批量的管理容器 微服务架构的应用系统中一般包含很多微服务&#xff0c;一个微服务中又包含很多的实例&#xff0c;每个微服务都要手动管理&#xff0c;维护的工作量很大。 拉去镜像&#xff0c;创建多个容器&#xff0c;分…

使用YOLOv5实现实时目标检测结果保存

本文将分享保存实时目标检测结果的方法&#xff0c;包括将目标信息逐帧保存到.txt文件中、逐帧输出检测结果图片、以及如何保存所有检测图片&#xff08;包括视野中无目标的帧&#xff09;。 目录 0.准备 1.目标信息保存 2.检测图片保存 3.保存所有帧 0.准备 本文以单摄像…

基于卷积变分自动编码器的3D数据处理与重建【CVAE】

在这个项目中&#xff0c;我们将学习如何使用卷积变分自动编码器 (CVAE) 来处理和重建 3D 湍流数据。 我们使用计算流体动力学 (CFD) 方法生成 3D 湍流立方体&#xff0c;每个 3D 立方体沿着三个速度分量携带物理信息&#xff08;与图像数据类似&#xff0c;被视为单独的通道&…

elk中kibana使用

1.前言 kibana是一款作为elasticsearch可视化的一款软件&#xff0c;将elasticsearch中的数据以可视化的状态展现出来&#xff0c;kibana也提供了查询、统计、修改索引等功能 2.kibana使用 索引管理 在索引管理中&#xff0c;可以看到所有索引的状态、运行状况、主分片、副本…

76-基于51单片机家庭红外人体检测震动报警系统(程序+原理图+元件清单全套资料)...

资料编号&#xff1a;076 功能介绍&#xff1a;采用51单片机作为主控CPU&#xff0c;采用红外接触传感器采集当前是否有人&#xff0c;采用震动传感器采集当前是否有震动&#xff0c;起到家庭防盗效果&#xff0c;采用按键设置当前布防/撤防状态&#xff0c;布防状态下&#xf…

Binder系列--获取ServiceManager

获取ServiceManager hongxi.zhu 2023-7-1 以SurfaceFlinger为例&#xff0c;分析客户端进程如何获取ServiceManager代理服务对象 主要流程 SurfaceFlinger中获取SM服务 frameworks/native/services/surfaceflinger/main_surfaceflinger.cpp // publish surface flingersp<…

适合初中生用的台灯有哪些?这样的台灯最适合学生!

对于学生而言台灯主要的点就是能够护眼、缓解眼睛疲劳&#xff0c;因为学生需要长时间的学习和用眼而且可以休息放松的时间比较少&#xff0c;导致眼睛过度疲劳&#xff0c;这也是为什么这么多中小学生近视的原因。那么我们应该怎么样选好一款台灯呢&#xff1f; 要想台灯能护眼…

Linux系统之dnf包管理器的基本使用

Linux系统之dnf包管理器的基本使用 一、dnf工具介绍1. dnf工具简介2. dnf的功能 二、DNF的安装1. 检查本地操作系统版本2. 安装epel3. 检查本地yum仓库状态4. 安装dnf包 三、dnf的使用帮助1. 查看dnf版本2. 查看dnf命令的帮助信息3. dnf命令的选项解释 四、dnf命令的基本使用1.…

浅谈Unicode与UTF-8

我们都知道&#xff0c;在Golang中字符都是以UTF-8编码的形式存储&#xff0c;当我们使用range遍历字符串的时候&#xff0c;go会为我们取出一个字符(rune)而不是一个byte&#xff0c;例如以下例子&#xff0c;我们使用range迭代取出第一个字符“你”&#xff0c;并且打印输出取…

TechSmith Camtasia for Mac 2023.0.3 中文破解版 Win/Mac上强大的屏幕录像工具

Camtasia 是Win/Mac上最强大的屏幕录像工具之一&#xff0c;该软件集成了视频录制、编辑、导出等一系列功能&#xff0c;支持鼠标光标样式、草绘示意插图、冰冻区域等实用的功能&#xff0c;还具有移动客户端让你录制视频&#xff0c;然后通过无线传输到 Camtasia 中进行编辑&a…