当前位置: 首页 > news >正文

CCPC chongqing 2025 L

题目链接:https://codeforces.com/gym/105887
题目背景:

       对一个栈执行以下 n 次操作:

  • Push 𝑥:把 𝑥 压入栈中。 
  • Pop:把栈顶弹出,不会对空栈执行这个操作。 
  • Repeat:重复之前的所有操作。

        每次操作输出栈元素总和。

思路:

       模拟题。对于Repeat操作只需复制当前栈道栈顶即可,执行多次Repeat操作可能使栈的空间特别大,但是可以发现当栈大小大于等于 n 时,如何 pop 都不会使栈空,所有在栈大小大于等于 n 时,只需sum * 2即可。

数据范围:

        1 <= n <= 2e5。

ac代码:
#include <bits/stdc++.h>#define ioscc ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define endl '\n'
#define me(a, x) memset(a, x, sizeof a)
#define all(a) a.begin(), a.end()
#define sz(a) ((int)(a).size())
#define pb(a) push_back(a)
using namespace std;typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<vector<int>> vvi;
typedef vector<int> vi;
typedef vector<bool> vb;const int dx[4] = {-1, 0, 1, 0};
const int dy[4] = {0, 1, 0, -1};
const int MAX = (1ll << 31) - 1;
const int MIN = 1 << 31;
const int MOD = 998244353;
const int N = 1e5 + 10;template <class T>
ostream &operator<<(ostream &os, const vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cout << a[i] << ' ';return os;
}template <class T>
istream &operator>>(istream &in, vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cin >> a[i];return in;
}/* ----------------- 有乘就强转,前缀和开ll ----------------- */void solve()
{int n;cin >> n;vector<ll> v;ll sum = 0;while (n--){string op;cin >> op;if (op == "Push"){int x;cin >> x;v.push_back(x);sum = (sum + x) % MOD;}else if (op == "Pop"){sum = (sum - v.back() + MOD) % MOD;v.pop_back();}else{int len = sz(v);if (len < n){for (int i = 0; i < len; ++i)v.pb(v[i]);}sum = sum * 2 % MOD;}cout << sum << endl;}
}int main()
{ioscc;solve();return 0;
}

相关文章:

  • 【高效开发工具系列】Blackmagic Disk Speed Test for Mac:专业硬盘测速工具
  • Mybatis 拦截器 与 PageHelper 源码解析
  • 阿里云MaxCompute入门
  • 6月7日day47打卡
  • pycharm中提示C++ compiler not found -- please install a compiler
  • git小乌龟不显示图标状态解决方案
  • 【android bluetooth 协议分析 15】【SPP详解 1】【SPP 介绍】
  • 《JavaAI:稳定、高效、跨平台的AI编程工具优势解析》
  • Redis高可用架构
  • golang项目中如何使用私密仓库的扩展包
  • 【LLM大模型技术专题】「入门到精通系列教程」基于ai-openai-spring-boot-starter集成开发实战指南
  • uniapp- UTS 插件鸿蒙端开发示例 虽然我们这个示例简单 但是这个是难住很多人的一大步
  • vite+tailwind封装组件库
  • Android和硬件通信
  • 408第一季 - 数据结构 - 字符串和KMP算法
  • phosphobot开源程序是控制您的 SO-100 和 SO-101 机器人并训练 VLA AI 机器人开源模型
  • ubuntu20使用自主探索算法explore_lite实现机器人自主探索导航建图
  • PGSR : 基于平面的高斯溅射高保真表面重建【全流程分析与测试!】【2025最新版!!】
  • 中山大学美团港科大提出首个音频驱动多人对话视频生成MultiTalk,输入一个音频和提示,即可生成对应唇部、音频交互视频。
  • 【python与生活】如何构建一个解读IPO招股书的算法?
  • 建设网站一般过程/seo运营
  • 网站的三级页面怎么做/seo视频教学网站
  • 网站技术有哪些/短视频seo厂家
  • 如何做cpa单页网站/什么是seo优化?
  • 服装网站建设可行性分析/虎扑体育网体育
  • 连云港做网站制作首选公司/灰色行业推广平台网站