A. Gellyfish and Tricolor Pansy

翻译:

        水母和小花在玩一个叫 “决斗 ”的游戏。

        水母有 a HP,花花有 b HP。

        它们各有一个骑士。水母的骑士有 c HP,而花花的骑士有 d HP。

        他们将进行一轮游戏,直到其中一方获胜。对于 k=1、2、... 的顺序,他们将执行以下操作:

  • 如果 k 为奇数,且水母的骑士活着:
    • 如果 b≤0 则水母获胜。或者,水母的骑士可以攻击花花的骑士并将 d
    •  如果 d≤0,花花的骑士死亡。
  • 如果 k 为偶数,且花花的骑士活着:
    • 如果a≤0,花花获胜。或者,花花的骑士可以攻击水母的骑士并将 c
    •  如果 c≤0 海蜇的骑士死亡。

        作为世界上最聪明的人之一,你想在比赛前告诉他们谁会赢。假设双方都以最佳状态下棋。

可以证明对局永远不会以和棋结束。也就是说,一方拥有在有限步数内结束对局的策略。

思路:

        只要将敌方的任意一人杀死,即可获胜。(模拟,贪心)

实现:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;void solve(){ll a,b,c,d;cin>>a>>b>>c>>d;if (min(a,c)>=min(b,d)){cout<<"Gellyfish"<<endl;}else{cout<<"Flower"<<endl;}
}int main(){// 关闭输入输出流同步ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 不使用科学计数法// cout<<fixed;// 四舍五入中间填保留几位小数,不填默认// cout.precision();int t=1;cin>>t;while (t--) solve();return 0;
}



B. Gellyfish and Baby's Breath

翻译:

        Flower 给 Gellyfish 提供了 [0,1,...,n-1]的两个排列∗:p_0,p_1,...,p_{n-1}q_0,q_1,...,q_{n-1}

        现在,Gellyfish 希望通过以下方法计算一个数组 r_0,r_1,...,r_{n-1} 的计算方法如下:

  • 对于所有 i (0≤i≤n-1),r_imax^i_{j=0}(2^{p_j}+2^{q_{i-j}})

        但由于水母很懒,你必须帮她算出 r 的元素。

        由于 r 的元素非常大,你只需输出 r 的元素 modulo 998244353。

思路:

        2的i次从二进制数来看2^i+2^j与其他同类型的比较,一般由i,j中的较大部分即可。

        即我们在遍历r中,记录p,q最大值的下标,再通过比较两者及其对应的qp值大小,可得到最大值。(位运算)

实现:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const ll MX = 1e6+10;
const ll mod = 998244353;
vector<ll> pow_2(MX,1);
void solve(){int n;cin>>n;vector<ll> a(n),b(n),ans(n);for (auto &i:a) cin>>i;for (auto &i:b) cin>>i;ll ind_a_max = 0,ind_b_max = 0;for (int i=0;i<n;i++){// updateif (a[i]>a[ind_a_max]) ind_a_max = i;if (b[i]>b[ind_b_max]) ind_b_max = i;if (a[ind_a_max]>b[ind_b_max] || (a[ind_a_max]==b[ind_b_max] && b[i-ind_a_max]>a[i-ind_b_max])){ans[i] = (pow_2[a[ind_a_max]]+pow_2[b[i-ind_a_max]])%mod;}else{ans[i] = (pow_2[a[i-ind_b_max]]+pow_2[b[ind_b_max]])%mod;}}for (int i=0;i<n;i++){cout<<ans[i]<<" \n"[i==n-1];}
}int main(){// 关闭输入输出流同步ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 不使用科学计数法// cout<<fixed;// 四舍五入中间填保留几位小数,不填默认// cout.precision();// initiationfor (int i=1;i<MX;i++){pow_2[i] = (pow_2[i-1]*2)%mod;}int t=1;cin>>t;while (t--) solve();return 0;
}



C. Gellyfish and Flaming Peony

翻译:

        水母讨厌数学问题,但她必须完成数学作业:

        给水母一个由 n 个正整数 a1、a2......、an 组成的数组。

        她需要进行以下两步运算,直到 a 的所有元素都相等为止的所有元素都相等:

  • 选择满足 1≤i,j≤n 和 i≠j 的两个索引 i、j。
  • 用 gcd(ai,aj) 代替 ai。

        现在,水母向你询问实现目标所需的最少运算次数。

        可以证明,水母总能实现她的目标。

思路:

        最后a数组的值每个都必定是gcd(\sum\limits^{n}_{i=1}ai)。那么先用最小的次数将一个值变为最终值(广度优先搜索),再通过这个值,与其他不同的值gcd,即可最快完成目标。(数学,bfs)

实现:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const ll mod = 998244353;
void solve(){int n,mx=0;cin>>n;vector<int> a(n);for (int&i:a) cin>>i;int res = a[0];for (int& i:a) res = gcd(res,i),mx = max(mx,i);// bfs:查找最小得到res的集合vector<int> cnt(mx+1,-1);queue<array<int,2>> pq;for (int &i:a){pq.push({i,0});}while (!pq.empty()){auto[now,step] = pq.front();pq.pop();if (cnt[now]!=-1) continue;cnt[now] = step;if (now==res){break;}for (int &i:a){int new_gcd = gcd(i,now);if (cnt[new_gcd]==-1){pq.push({new_gcd,step+1});}}}int need = cnt[res],ans = 0;for (int &i:a) ans+=(res!=i);if (need>0) ans+=need-1;cout<<ans<<"\n;
}int main(){// 关闭输入输出流同步ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 不使用科学计数法// cout<<fixed;// 四舍五入中间填保留几位小数,不填默认// cout.precision();int t=1;cin>>t;while (t--) solve();return 0;
}

之后补题会在此增加题解。    

话说看我题解的有真人不?

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

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

相关文章

数字创新智慧园区建设及运维方案

该文档是 “数字创新智慧园区” 建设及运维方案,指出传统产业园区存在管理粗放等问题,“数字创新园区” 通过大数据、AI、物联网、云计算等数字化技术,旨在提升园区产业服务、运营管理水平,增强竞争力,实现绿色节能、高效管理等目标。建设内容包括智能设施、核心支撑平台、…

缓存一致性协议的影响

在操作系统中&#xff0c;线程切换相比进程切换更轻量级的关键原因之一是 缓存&#xff08;Cache&#xff09;的有效性&#xff0c;尤其是对 CPU 缓存&#xff08;如 L1/L2/L3&#xff09;和 TLB&#xff08;Translation Lookaside Buffer&#xff09;的影响。以下从缓存角度详…

六月一日python-AI代码

python 运行 import turtle as t # 导入turtle库并简称为t&#xff0c;用于图形绘制 import random # 导入random库&#xff0c;用于随机数生成t.delay(0) # 设置绘图延迟为0&#xff0c;加快绘图速度 colors ["red", "blue", "gr…

58、辣椒种植学习

辣椒&#xff08;学名&#xff1a;Capsicum annuum&#xff09;属于茄科辣椒属&#xff0c;是一种重要的蔬菜兼调味作物&#xff0c;具有较高的经济价值和营养价值。其果实富含维生素C、辣椒素等成分&#xff0c;既可鲜食&#xff0c;也可加工成干辣椒、辣椒粉、辣椒酱等产品&a…

C语言进阶--程序的编译(预处理动作)+链接

1.程序的翻译环境和执行环境 在ANSI C标准的任何一种实现中&#xff0c;存在两种不同的环境。 第一种是翻译环境&#xff1a;将源代码转换为可执行的机器指令&#xff08;0/1&#xff09;; 第二种是执行环境&#xff1a;用于实际执行代码。 2.详解编译链接 2.1翻译环境 程…

微调大模型:什么时候该做,什么时候不该做?

目录 一、什么是“微调”&#xff1f;你真的需要它吗&#xff1f; 二、什么时候不该微调&#xff1f; &#x1f6ab; 不该微调的 5 个典型场景&#xff1a; 1. 通用问答、闲聊、常识类内容 2. 企业内部问答 / 文档助手 3. 想要通过微调“学会格式” 4. 没有大量高质量标…

微深节能 码头装卸船机定位与控制系统 格雷母线

微深节能码头装卸船机定位与控制系统&#xff1a;格雷母线技术赋能港口作业智能化升级 在现代化港口散货装卸作业中&#xff0c;装卸船机是连接船舶与陆域运输的核心枢纽设备。传统装卸船机依赖人工操作&#xff0c;存在定位偏差大、动态协同难、安全风险高等痛点。微深节能基于…

如何检查popover气泡组件样式?调试悬停元素CSS样式的解决方案

1. 问题 当我们要检查这种弹出层的CSS样式时&#xff0c;会发现特别棘手&#xff0c;因为鼠标移走就消失了。如果是display:none控制的&#xff0c;可能还能找到&#xff0c;如果是用js通过v-if控制的&#xff0c;就无法调试了。 2. 解决方案 使用 setTimeout debugger 就…

网络攻防技术一:绪论

文章目录 一、网络空间CyberSpace1、定义2、基本四要素 二、网络空间安全1、定义2、保护对象3、安全属性4、作用空间 三、网络攻击1、攻击分类2、攻击过程 四、网络防护1、定义2、安全模型3、安全服务5类4、特定安全机制8种5、普遍性安全机制5种 五、网络安全技术发展简史1、第…

彻底理解Spring三级缓存机制

文章目录 前言一、Spring解决循环依赖时&#xff0c;为什么要使用三级缓存&#xff1f; 前言 Spring解决循环依赖的手段&#xff0c;是通过三级缓存&#xff1a; singletonObjects&#xff1a;存放所有生命周期完整的单例对象。&#xff08;一级缓存&#xff09;earlySingleto…

【 SpringCloud | 微服务 网关 】

单体架构时我们只需要完成一次用户登录、身份校验&#xff0c;就可以在所有业务中获取到用户信息。而微服务拆分后&#xff0c;每个微服务都独立部署&#xff0c;这就存在一些问题&#xff1a; 每个微服务都需要编写登录校验、用户信息获取的功能吗&#xff1f; 当微服务之间调…

【前端面经】字节跳动一面

写在前面&#xff1a;面经只是记录博主遇到的题目。每题的答案在编写文档的时候已经有问过deepseek&#xff0c;它只是一种比较普世的答案&#xff0c;要学得深入还是靠自己 Q&#xff1a;三栏布局的实现方式&#xff08;圣杯模型&#xff09;如何实现 A&#xff1a; /* 整个 …

ST-GCN

1.bash 安装git 在目录下右键使用git bash打开 需要安装wgetbash download_model.sh&#xff0c;下载.sh文件 wget: command not found&#xff0c;Windows系统使用git命令 下载预训练权重_sh文件下载-CSDN博客 bash tools/get_models.sh 生成了三个.pt文件

计算机网络全维度解析:架构协议、关键设备、安全机制与新兴技术深度融合

计算机网络作为当今数字化社会的基石&#xff0c;其复杂性和应用广泛性远超想象。本文将从基础架构、协议体系、关键设备、安全机制到新兴技术&#xff0c;进行全方位、深层次的解析&#xff0c;并辅以实际应用场景和案例分析。 一、网络架构与分类的深度剖析 1.1 网络分类的立…

大语言模型的推理能力

2025年&#xff0c;各种会推理的AI模型如雨后春笋般涌现&#xff0c;比如ChatGPT o1/o3/o4、DeepSeek r1、Gemini 2 Flash Thinking、Claude 3.7 Sonnet (Extended Thinking)。 对于工程上一些问题比如复杂的自然语言转sql&#xff0c;我们可能忍受模型的得到正确答案需要更多…

黑马程序员C++核心编程笔记--3 函数高级

3.1 函数默认参数 本节内容之前已经整理过&#xff0c;详见22.函数的默认值 3.2 函数占位参数 C中函数的形参列表里可以有占位参数&#xff0c;用来做占位&#xff0c;调用函数时必须补填该位置 语法&#xff1a; 返回值类型 函数名 (数据类型) {} 在现阶段函数的占位参数…

数据仓库分层 4 层模型是什么?

企业每天都在产生和收集海量数据。然而&#xff0c;面对这些数据&#xff0c;许多企业却陷入了困境&#xff1a;如何高效管理、处理和分析这些数据&#xff1f;如何从数据中提取有价值的信息来支持业务决策&#xff1f;这些问题困扰着众多数据分析师和 IT 管理者。 在众多架构…

Java正则表达式完全指南

Java正则表达式完全指南 一、正则表达式基础概念1.1 什么是正则表达式1.2 Java中的正则表达式支持 二、正则表达式基本语法2.1 普通字符2.2 元字符2.3 预定义字符类 三、Java中正则表达式的基本用法3.1 编译正则表达式3.2 创建Matcher对象并执行匹配3.3 常用的Matcher方法 四、…

缓存击穿、缓存雪崩、缓存穿透以及数据库缓存双写不一致问题

在项目中&#xff0c;我们所需要的数据通常存储在数据库中&#xff0c;但是数据库的数据保存在硬盘上&#xff0c;硬盘的读写操作很慢&#xff0c;为了避免直接访问数据库&#xff0c;我们可以使用 Redis 作为缓存层&#xff0c;缓存通常存储在内存中&#xff0c;内存的读写速度…

可灵2.1 vs Veo 3:AI视频生成谁更胜一筹?

在Google发布Veo 3几天后,可灵显然感受到了压力,发布了即将推出的视频模型系列可灵 2.1的早期体验版。 据我了解,有三种不同的模式: 可灵 2.1 标准模式: 720p分辨率 仅支持图像转视频(生成更快,一致性更好) 5秒视频仍需20积分 可灵 2.1 专业模式: 1080p分辨率 仅在图…