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

Codeforces Round 927 (Div. 3) LR-remainders的题解

原题描述:

C.LR-remains

每次测试时限:2 秒

每次测试的内存限制:256 兆字节

输入:标准输入

输出:标准输出

 

样例1输入:

4
4 6
3 1 4 2
LRRL
5 1
1 1 1 1 1
LLLLL
6 8
1 2 3 4 5 6
RLLLRR
1 10000
10000
R

样例1输出:

0 2 4 1 
0 0 0 0 0 
0 0 0 4 4 4 
0 

主题思路:

你想直接模拟,以为乘积最多2e5*1e4=2e9,但我告诉你,乘积最多是1e4^2e5,连__int128都存不下呢!!!

你用了高精度+模拟,的确不会爆,但我告诉你,会超时!!!

于是只能这么做,因为你知道删除的顺序,可以反过来,一开始数组为空,L就是插入a[head],接着head++,反之,R就是插入a[tail],tail--

用个vector来存储以上插入顺序,接着从后到前枚举(因为你要知道,你是倒着来)

用个x来模拟,每次x*tmp[i](tmp就是用来存插入顺序的vector)

接着x%=m

最后,ans[i] = x;

因为你的数组下标是从后到前枚举的,所以,你要从前到后输出。

知道这些后,是不是就好写很多了呢?

代码Code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int t;
string s;
int a[200010];
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cin>>t;while(t--){int n;long long m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];//读入}int tou=1,wei=n;cin>>s;vector<int> tmp;for(int i=0;i<n;i++){if(s[i] == 'L'){tmp.push_back(a[tou]);tou++;}else{tmp.push_back(a[wei]);wei--;}}//初始化顺序long long x=1;vector<int> ans(n+10);//用x模拟和用ans来存储for(int i=n-1;i>=0;i--){x*=tmp[i];x%=m;ans[i] = x;}for(int i=0;i<n;i++){cout<<ans[i]<<' ';//输出}cout<<'\n';}return 0;
}

http://www.lryc.cn/news/303483.html

相关文章:

  • HarmonyOS—@Observed装饰器和@ObjectLink嵌套类对象属性变化
  • The method toList() is undefined for the type Stream
  • vue+element (el-progress)标签 隐藏百分比(%) ,反向显示 ,自定义颜色, demo 复制粘贴拿去用
  • Android轻量级进程间通信Messenger源码分析
  • C#开发AGV地图编辑软件
  • 嵌入式学习day22 Linux
  • 不确定性问题的论文笔记
  • C语言推荐书籍
  • 基于uniapp微信小程序的汽车租赁预约系统
  • ClickHouse 基础(一)
  • 07-k8s中secret资源02-玩转secret
  • HTTP特性
  • ARM 之十六 详解 CMSIS 版本变迁、各组件使用示例
  • 【北京游戏业:出海竞争实力全面】
  • 课程大纲:图像处理中的矩阵计算
  • 【Go语言】Go语言的数据类型
  • 2024年2月19日 - mis
  • 【JavaWeb】网上蛋糕商城-项目搭建
  • 【Flink状态管理五】Checkpoint的设计与实现
  • How to install a specific version of a package in R
  • SIGSEGV 段错误
  • OpenCV 4基础篇| OpenCV简介
  • Vue常用内置指令,代码Demo演示和讲解
  • Spring设计模式之工厂模式创建Bean对象
  • Elasticsearch 别名(Aliases)的作用
  • 基于vue的个性化推荐餐饮系统Springboot
  • 量子计算:数据安全难题
  • CCF-B类SGP‘24 4月10日截稿!速速行动!
  • 阿里云服务器安装MySQL、Apache、PHP
  • Rust基础拾遗--并发和异步编程