news 2026/4/24 2:54:28

打卡信奥刷题(3154)用C++实现信奥题 P7725 珍珠帝王蟹(Crab King)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3154)用C++实现信奥题 P7725 珍珠帝王蟹(Crab King)

P7725 珍珠帝王蟹(Crab King)

题目背景

在一次航程中,你偶然发现了被一片礁石环绕的帝王蟹,被月岛能量侵蚀的它又与月光有着怎样的联系呢?似乎只有击败它才能见分晓。

题目描述

帝王蟹可以通过镶嵌宝石触发战斗,不同的宝石效果不同,但奇特的是,镶嵌宝石的顺序有时也会影响它的强度。

帝王蟹有一个初始为000的强度值,每个宝石有属性opopopvvv,表示:

  • opopop+,则镶嵌后帝王蟹的强度值将会加上vvv

  • opopop*,则镶嵌后帝王蟹的强度值将会乘上vvv

由于宝石的效果十分奇异,所以vvv可能是负数。

作为一个有挑战精神的冒险者,你希望采取某种镶嵌方式,将每个宝石都镶嵌恰好一遍,且使得帝王蟹的强度值最大。

你只需要输出最大的强度值对998244353998244353998244353取模的结果,注意这是一个[0,998244353)[0, 998244353)[0,998244353)中的数。

也就是说,如果答案为ans,按照 C++ 语法,你需要输出(ans % P + P) % P,其中P = 998244353

输入格式

第一行,一个整数nnn,表示宝石数量。

接下来nnn行,每行有用空格隔开的一个字符opopop和一个整数vvv,描述一个宝石。

输出格式

输出一行一个整数,表示最大的强度值对998244353998244353998244353取模的结果。

输入输出样例 #1

输入 #1

3 + -3 + 4 * -4

输出 #1

16

输入输出样例 #2

输入 #2

3 + -3 + -4 * 4

输出 #2

998244346

说明/提示

【样例 1 解释】

按照输入顺序以1,2,31, 2, 31,2,3标记每个宝石,所有可能的镶嵌顺序如下:

1→2→31\to 2\to 3123x=((0+−3)+4)×−4=−4x = ((0 + {\color{red}{-3}}) + {\color{red}{4}}) \times {\color{red}{-4}} = -4x=((0+3)+4)×4=4

1→3→21\to 3\to 2132x=((0+−3)×−4)+4=16x = ((0 + {\color{red}{-3}}) \times {\color{red}{-4}}) + {\color{red}{4}} = 16x=((0+3)×4)+4=16

2→1→32\to 1\to 3213x=((0+4)+−3)×−4=−4x = ((0 + {\color{red}{4}}) + {\color{red}{-3}}) \times {\color{red}{-4}} = -4x=((0+4)+3)×4=4

2→3→12\to 3\to 1231x=((0+4)×−4)+−3=−19x = ((0 + {\color{red}{4}}) \times {\color{red}{-4}}) + {\color{red}{-3}} = -19x=((0+4)×4)+3=19

3→1→23\to 1\to 2312x=((0×−4)+−3)+4=1x = ((0 \times {\color{red}{-4}}) + {\color{red}{-3}}) + {\color{red}{4}} = 1x=((0×4)+3)+4=1

3→2→13\to 2\to 1321x=((0×−4)+4)+−3=1x = ((0 \times {\color{red}{-4}}) + {\color{red}{4}}) + {\color{red}{-3}} = 1x=((0×4)+4)+3=1

因此,强度值的最大值为161616,对998244353998244353998244353取模后为161616


【样例 2 解释】

按照输入顺序以1,2,31, 2, 31,2,3标记每个宝石,所有可能的镶嵌顺序如下:

1→2→31\to 2\to 3123x=((0+−3)+−4)×4=−28x = ((0 + {\color{red}{-3}}) + {\color{red}{-4}}) \times {\color{red}{4}} = -28x=((0+3)+4)×4=28

1→3→21\to 3\to 2132x=((0+−3)×4)+−4=−16x = ((0 + {\color{red}{-3}}) \times {\color{red}{4}}) + {\color{red}{-4}} = -16x=((0+3)×4)+4=16

2→1→32\to 1\to 3213x=((0+−4)+−3)×4=−28x = ((0 + {\color{red}{-4}}) + {\color{red}{-3}}) \times {\color{red}{4}} = -28x=((0+4)+3)×4=28

2→3→12\to 3\to 1231x=((0+−4)×4)+−3=−19x = ((0 + {\color{red}{-4}}) \times {\color{red}{4}}) + {\color{red}{-3}} = -19x=((0+4)×4)+3=19

3→1→23\to 1\to 2312x=((0×4)+−3)+−4=−7x = ((0 \times {\color{red}{4}}) + {\color{red}{-3}}) + {\color{red}{-4}} = -7x=((0×4)+3)+4=7

3→2→13\to 2\to 1321x=((0×4)+−4)+−3=−7x = ((0 \times {\color{red}{4}}) + {\color{red}{-4}}) + {\color{red}{-3}} = -7x=((0×4)+4)+3=7

因此,强度值的最大值为−7-77,对998244353998244353998244353取模后为998244346998244346998244346


【数据范围】

本题采用捆绑测试。

对于全部测试数据:1≤n≤1051 \le n \le {10}^51n1052≤∣v∣≤1062 \le |v| \le {10}^62v106

  • Subtask 1(26 points):n≤9n \le 9n9∣v∣≤5|v| \le 5v5
  • Subtask 2(22 points):v>0v > 0v>0
  • Subtask 3(12 points):保证当opopop*v>0v > 0v>0
  • Subtask 4(15 points):保证当opopop+v>0v > 0v>0
  • Subtask 5(25 points):无特殊限制。

C++实现

#include<iostream>#include<vector>#definelllonglongusingnamespacestd;constintmod=998244353;ll s1,s2,s3=1,s4=1;intmax4=0;vector<int>v4;intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);//cin,cout加速intn;cin>>n;for(inti=1;i<=n;i++){charop;intv;cin>>op>>v;if(op=='+')if(v>0)s1=(s1+v)%mod;elses2=(s2+v)%mod;elseif(v>0)s3=s3*v%mod;elsev4.push_back(v);}if(!v4.empty()){for(inti=1;i<v4.size();i++)if(v4[i]>v4[max4])max4=i;for(inti=0;i<v4.size();i++)if(i!=max4)s4=s4*v4[i]%mod;max4=v4[max4];}//找最大值elsemax4=1;if(!(v4.size()&1))if(v4.empty())cout<<(s1*s3%mod+s2+mod)%mod<<endl;elsecout<<(s1*max4%mod+s2)%mod*s3%mod*s4%mod<<endl;elsecout<<(s2*max4%mod+s1)*s4%mod*s3%mod<<endl;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 2:52:23

如何用 dedao-dl 实现得到课程永久保存:告别知识过期的终极指南

如何用 dedao-dl 实现得到课程永久保存&#xff1a;告别知识过期的终极指南 【免费下载链接】dedao-dl 得到 APP 课程下载工具&#xff0c;可在终端查看文章内容&#xff0c;可生成 PDF&#xff0c;音频文件&#xff0c;markdown 文稿&#xff0c;可下载电子书。可结合 opencla…

作者头像 李华
网站建设 2026/4/24 2:52:19

语言模型系统提示设计:从交互哲学到工程实践

1. 从系统提示看语言模型的交互设计哲学最近Claude和Grok两大语言模型的系统提示内容意外曝光&#xff0c;为我们打开了一扇观察AI产品设计的窗口。这些隐藏在交互界面背后的"操作手册"&#xff0c;实际上揭示了当代语言模型开发者对用户体验的深度思考。作为一名长期…

作者头像 李华
网站建设 2026/4/24 2:50:17

COMSOL声学超材料实证研究

COMSOL 薄膜型声学超材料&#xff0c;薄膜质量块耦合吸声结构&#xff0c;sci完整复现。【COMSOL搞声学超材料的同学看过来】今天咱们聊聊薄膜型声学超材料建模那些事。这玩意儿在降噪领域挺火&#xff0c;特别是那个薄膜-质量块耦合结构&#xff0c;SCI论文里动不动就秀出90%以…

作者头像 李华
网站建设 2026/4/24 2:50:17

【限时技术白皮书】:Docker 27低代码集成性能压测报告(23类低代码引擎+8大PaaS平台横向对比,仅开放72小时)

第一章&#xff1a;Docker 27低代码平台容器集成全景概览Docker 27 是面向企业级低代码开发平台的轻量级容器运行时增强版本&#xff0c;专为支持可视化编排、动态组件热插拔与多租户隔离场景而优化。它并非 Docker Desktop 或 Docker Engine 的简单补丁&#xff0c;而是基于 c…

作者头像 李华
网站建设 2026/4/24 2:47:20

财务外包 vs 自建财务:老板该怎么选?

许多老板在企业财务管理上都会面临一个难题&#xff1a;是选择财务外包&#xff0c;还是自建财务团队呢&#xff1f;这一决策关乎企业的成本、效率和发展。为什么这是问题对于初创企业和中小微企业来说&#xff0c;自建财务团队意味着要承担高昂的人力成本&#xff0c;包括招聘…

作者头像 李华