The 2022 ICPC Asia Nanjing Regional Contest - External G

题目链接:Problem - D - Codeforces

写在前面:今天的训练赛打的稀碎······,一道稍微难一点的签到题就把我难住了,看完题解确实感觉不难,看来题目还是刷太少了。


回归正题

题意:

思路:尽量让分子大,分母小,那么根据贪心定律,遇到分岔路(也就是0)时,尽可能选第二种情况,但这时我们又不能只考虑删数,当数不够删时就会直接暴毙,那么我们可以先让0都执行第二种可能,当数不够时,反悔第二种可能的情况,转而去执行第一种情况,最后求一下最小公约数相除即可。

代码:

#include<bits/stdc++.h>
#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
using namespace std;
const int N=1e6+5;
void solve(){int n;cin >> n;int sum=1,cnt=1,ss=0;//sum代表当前队伍总的攻击值,cnt代表当前队伍的长度int flag=0;for(int i=1;i<=n;++i){int x;cin >> x;if(x==1) sum++,cnt++;else if(x==-1){if(cnt>1) cnt--;//若cnt大于1,那么减去1个长度即可else if(ss>0) ss--,sum++,cnt++;//若cnt小于等于1,考虑是否可以反悔0的选项,将0从-1变为1else flag=1;//若连反悔都不行,那么就输出-1}else{if(cnt>1) cnt--,ss++;//先考虑选项2else sum++,cnt++;//若长度不够,只能选择1}} if(flag) cout << -1 << endl;else{int k=__gcd(sum,cnt);//约分cout << sum/k << " " << cnt/k << endl;}return ;
}
signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t=1;cin >> t;while(t--) solve();return 0;
}

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

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

相关文章

【NumPy】深入了解NumPy的multiply函数:高效矩阵和数组乘法指南

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

HNU-人工智能-作业3

人工智能-作业3 计科210X 甘晴void 202108010XXX 1.贝叶斯网络 根据图所给出的贝叶斯网络&#xff0c;其中&#xff1a;P(A)0.5&#xff0c;P(B|A)1&#xff0c; P(B|A)0.5&#xff0c; P(C|A)1&#xff0c; P(C|A)0.5&#xff0c;P(D|BC)1&#xff0c;P(D|B, C)0.5&#xff…

1. 基于时间序列分析的股票价格波动预测模型:深度探索与实际应用

在当今经济环境下&#xff0c;股票市场无疑是投资者们密切关注的重要领域。然而&#xff0c;股票价格的波动常常令投资者感到困扰&#xff0c;难以捉摸其变化规律。因此&#xff0c;构建一种能够有效预测股票价格波动趋势的模型显得尤为重要。本文将深入探讨基于时间序列分析的…

循环buffer“一写多读“

1.往期回顾 一个简单实用的循环buffer&#xff0c;用于缓冲数据&#xff01;测试500M数据&#xff0c;耗时1.3秒。 C语言版本的循环buffer比C版本的速度更快&#xff01;测试500M数据0.5秒&#xff0c;达9.25Gbps左右&#xff01; C 语言免拷贝版本循环 buffer 比拷贝版本快了…

Golang并发编程-协程goroutine的信道(channel)

文章目录 前言一、信道的定义与使用信道的声明信道的使用二、信道的容量与长度三、缓冲信道与无缓冲信道缓冲信道无缓冲信道四、信道的初体验信道关闭的广播机制总结前言 Goroutine的开发,当遇到生产者消费者场景的时候,离不开 channel(信道)的使用。 信道,就是一个管道,…

Redis介绍及安装配置

1 什么是Redis Redis 的定义&#xff1a;Redis&#xff08;Remote Dictionary Server 远程字典服务&#xff09;是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 可见Redis和我们最经常使用的MySQL都…

7-1 Java程序设计-异常处理-自定义异常类

题目&#xff1a; 定义一个具有三条边的三角形类Triangle。在三角形中&#xff0c;任意两边之和大于第三边。三角形类Triangle写遵从这一个规则。定义一个IllegalTriangleException类&#xff0c;修改类Triangle的构造方法&#xff0c;如果创建的三角形的边违反了这一规则&am…

技术创新加速生态繁荣 | 软通动力子公司鸿湖万联亮相OpenHarmony开发者大会2024

5月25日&#xff0c;由开放原子开源基金会OpenHarmony项目群工作委员会主办的OpenHarmony开发者大会2024在深圳成功举行。本次大会紧扣OpenHarmony 4.1 Release版本发布契机&#xff0c;以“鸿心聚力&#xff0c;智引未来”为主题、通过“1场主论坛6场技术分论坛”承载&#xf…

谈谈关于mysql索引的理解

索引 我们在学习java中用来表示数组的下标例如定义一个变量int i 这就表示一个索引,因为索引的英文单词是index,索引也可以称为是书的目录,它可以方便我们查询自己所需要的内容,通过索引我们可以快速找到自己的需求.此时引出了索引的概念,在数据库中. 关于索引的相关操作 有…

mysql 8 [HY000][1114] The table ‘/tmp/#sql4c3_3e5a0_2‘ is full

分组有个比较大的表&#xff0c;出现了临时表空间满了的情况&#xff1b; 试用该sql 语句&#xff1a; SHOW GLOBAL VARIABLES LIKE internal_tmp_mem_storage_engine; 可以看到 默认临时结果是用临时表存的&#xff0c;在mysql的my.cnt可以改临时空间的大小 但是磁盘哪有内…

【竞赛】本科阶段部分证书考试 科研竞赛 的 网站导航(算法、项目、安全、数据、科研)

【竞赛】本科阶段部分证书考试 & 科研竞赛 的 网站导航&#xff08;算法、项目、安全、数据、科研&#xff09; 文章目录 1、算法竞赛&#xff08;重点&#xff09;PAT/CSP天梯赛/蓝桥/力扣ICPC算法竞赛编程工具代码源其他 2、项目竞赛安全与数据&#xff08;重点&#xf…

5.28学习总结

java复习总结 hashcode()和equals() hashcode():在Object里这个方法是通过返回地址的整数值来生成哈希值。 equals():在Object里这个方法是通过比较他们的内存地址来确定两个对象是否相同。 运行效率&#xff1a;hashcode的时间复杂度为O(1)&#xff08;因为只要计算一次哈…

js 对象内的方法this不指向对象?js对象中this指向的问题

缘起 今天在写一个工具方法封装成对象模块导出时&#xff0c;由于成员方法内调用了其他成员方法&#xff0c;而且成员方法用了箭头函数() > 定义&#xff0c;导致使用 this.成员方法() 不能调用该成员方法&#xff0c;console.log(this)发现为 undefined。 export default {…

Vue 菜单组件开发教程

在 Vue 项目中&#xff0c;我们常常需要构建各种菜单结构。下面就来详细介绍如何基于给定的代码来开发一个菜单组件。 组件部分 一、模板部分 <template> <template v-for"item in menuTree" :key"item._id"> <el-sub-menu v-if"i…

opencv的findContours()函数

来自WaTab AI Pro 请详细解释cv2.findContours()&#xff1a; cv2.findContours() 是 OpenCV 中用于检测图像轮廓的函数。轮廓可以看作是将连续的点&#xff08;沿边界&#xff09;连接在一起的一条曲线&#xff0c;具有相同的颜色或强度。该函数常用于图像处理和计算机视觉中…

EtherCAT协议概述

EtherCAT 是由德国 BECKOFF 自动化公司于2003年提出的实时工业以太网技术。它具有高速和高数据有效率的特点&#xff0c;支持多种设备连接拓扑结构。其从站节点使用专用的控制芯片&#xff0c;主站使用标准的以太网控制器。 EtherCAT 的主要特点如下 : ①泛的适用性&#xff0c…

c++指针的*

1.*运算符 *运算符被称为间接值&#xff08;indirect value&#xff09;或者解除引用&#xff08;dereferencing&#xff09;运算符 将其应用于指针可以得到该地址处存储的值 由于 * 也有乘法的意思&#xff0c;c通过上下文来确定是乘法还是解除引用 2.如何声明和初始化指针 …

【Pandas】深入解析`pd.read_sql()`函数

【Pandas】深入解析pd.read_sql()函数 &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xf…

《KAN》论文笔记

原文出处 KAN: Kolmogorov–Arnold Networks (arxiv.org)https://arxiv.org/html/2404.19756v1 论文笔记 What 《KAN: Kolmogorov–Arnold Networks》——我们提出了 KolmogorovArnold Networks (KANs) 作为多层感知器 (MLP) 的有前途的替代方案。 我们表明&#xff0c;这…

STM32简易音乐播放器(HAL库)

一、设计描述 本设计以STM32MP157A单片机为核心控制器&#xff0c;加上其他的模块一起组成基于单片机的音乐盒的整个系统&#xff0c;通过不同频率的PWM使蜂鸣器播放音乐&#xff0c;通过按键中断实现歌曲切换&#xff0c;音量调节&#xff0c;定时器中断实现播放速度调节&…