The 2022 ICPC Asia Nanjing Regional Contest - External G

embedded/2024/9/23 10:19:57/

题目链接: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.ppmy.cn/embedded/43622.html

相关文章

allure测试报告用例数和 pytest执行用例数不相同问题

我出现的奇怪问题: pytest执行了9条用例,但是测试报告确只显示3条用例 我将其中的一个代码删除后,发现allure测试报告又正常了 我觉得很奇怪这个代码只是删除了二维数组的第一列,我检查了半天都找不到问题,只有降低版本了。导致原因:allure-pytest版本使用的是最新版本,…

deepfake部署

克隆仓库&#xff1a; 将 faceswap 项目克隆到本地&#xff1a; git clone https://github.com/deepfakes/faceswap.git cd faceswap安装依赖&#xff1a; 在安装依赖之前&#xff0c;确保已经安装了 python 和 pip。然后&#xff0c;可以使用以下命令创建一个虚拟环境并安装项…

linux学习(六)

1.网络管理 (1)查看 ifconfig: root用户可以查看网卡状态, 普通用户: /sbin/ifconfig(需要加上命令的完整路径) (2)修改网络配置 通过命令修改网络配置 设置网卡的ip地址;禁用网卡和启用网卡了。 添加网关: (3)网络故障查询 ①ping 检测当前主机和目标主机是…

【leetcode2765--最长交替子数组】

要求&#xff1a;给定一个数组&#xff0c;找出符合【x, x1,x,x-1】这样循环的最大交替数组长度。 思路&#xff1a;用两层while循环&#xff0c;第一个while用来找到符合这个循环的开头位置&#xff0c;第二个用来找到该循环的结束位置&#xff0c;并比较一下max进行记录。 …

C++模板元编程--函数萃取

在C中&#xff0c;std::declval是一个非常有用的模板函数&#xff0c;它是标准库<utility>头文件的一部分。它的主要作用是在不创建对象的情况下&#xff0c;获取该类型的引用&#xff0c;从而允许在编译时表达式中使用该类型的成员函数或成员变量&#xff0c;即使没有默…

智慧农田视频监控技术应用:智能监管引领农业新时代

据新闻报道&#xff0c;5月24日合肥市公安局接到群众报警&#xff0c;反映自己辛苦种植的小麦有几十亩地被人偷偷用收割机盗割。公安机关迅速出警并立案侦查&#xff0c;通过查看监控视频得知&#xff0c;用户所在的公司租用了几千亩土地进行农业种植&#xff0c;因公司与村民之…

安装WordPress

第 1 步&#xff1a;下载并解压 wget https://wordpress.org/latest.tar.gz 然后使用以下命令提取包&#xff1a; tar -xzvf latest.tar.gz 第 2 步&#xff1a;创建数据库 比如数据库名称为wordpress&#xff0c;编码格式为 utf8mb4_general_ci 第 3 步&#xff1a;设置wp-con…

python数据分析——分组操作1

参考资料&#xff1a;活用pandas库 1、简介 借助“分割-应用-组合”&#xff08;split-apply-combine&#xff09;模式&#xff0c;分组操作可以有效地聚合、转换和过滤数据。 分割&#xff1a;基于键&#xff0c;把要处理的数据分割为小片段。 应用&#xff1a;分别处理每个数…